#Lutece3399. 前兜车一转后兜车一转

前兜车一转后兜车一转

Description

给定一个长为 nn 的正整数序列 aa,序列的价值定义为 i=1n1ai+1ai\sum_{i=1}^{n-1} |a_{i+1}-a_i|

现在你需要对序列的一个非空前缀进行翻转,再对序列的一个非空后缀进行翻转,使得序列的价值最大。

ppaa 的一个前缀,当且仅当 pp 可以通过 aa 从后往前依次删除若干元素得到,称 ssaa 的一个后缀,当且仅当 pp 可以通过 aa 从前往后依次删除若干元素得到。例如,对于 a={1,2,3,4,5}a=\{1,2,3,4,5\},则 {1,2,3},{1},{1,2,3,4,5}\{1,2,3\},\{1\},\{1,2,3,4,5\} 均为 aa 的前缀,而 {2,3,4},{1,3,4}\{2,3,4\},\{1,3,4\} 不是 aa 的前缀;{4,5},{5},{1,2,3,4,5}\{4,5\},\{5\},\{1,2,3,4,5\} 均为 aa 的后缀,而 {2,3,5},{3,4}\{2,3,5\},\{3,4\} 不是 aa 的后缀。

翻转操作按如下方式进行:

  1. 对于要翻转的区间 [l,r][l,r],定义 bi=ari+1b_i=a_{r-i+1},其中 1irl+11\le i\le r-l+1
  2. 用得到的 bb 序列替换 aa 序列中 [l,r][l,r] 位置的元素。

例如,对于 a={1,2,3,4,5}a=\{1,2,3,4,5\},翻转区间为 [1,3][1,3],得到的翻转后数组为 a={3,2,1,4,5}a=\{3,2,1,4,5\}

Input

第一行一个正整数 TT1T1051\le T\le 10^5),表示共有 TT 组数据。

对于每组数据,第一行一个正整数 nn1n1051\le n\le 10^5),表示序列的长度。

第二行 nn 个正整数 aia_i1ai1091\le a_i\le 10^9),表示给定的序列。

对于所有数据,满足 n106\sum n \le 10^6

Output

对于每组数据,输出一行一个整数表示序列两次翻转后最大的价值。

Samples

5
1
1
2
3 7
3
10 2 7
5
1 5 3 8 7
8
9 7 3 6 8 5 4 6
0
4
13
19
21

Resources

The 23rd UESTC Programming Contest Preliminary