CF2062C Cirno and Operations

Description

Cirno has a sequence $ a $ of length $ n $ . She can perform either of the following two operations for any (possibly, zero) times unless the current length of $ a $ is $ 1 $ : - Reverse the sequence. Formally, $ [a_1,a_2,\ldots,a_n] $ becomes $ [a_n,a_{n-1},\ldots,a_1] $ after the operation. - Replace the sequence with its difference sequence. Formally, $ [a_1,a_2,\ldots,a_n] $ becomes $ [a_2-a_1,a_3-a_2,\ldots,a_n-a_{n-1}] $ after the operation. Find the maximum possible sum of elements of $ a $ after all operations.

Input Format

The first line of input contains a single integer $ t $ ( $ 1 \leq t \leq 100 $ ) — the number of input test cases. The first line of each test case contains a single integer $ n $ ( $ 1\le n\le 50 $ ) — the length of sequence $ a $ . The second line of each test case contains $ n $ integers $ a_1,a_2,\ldots,a_n $ ( $ |a_i|\le 1000 $ ) — the sequence $ a $ .

Output Format

For each test case, print an integer representing the maximum possible sum.

Explanation/Hint

In the first test case, Cirno can not perform any operation, so the answer is $ -1000 $ . In the second test case, Cirno firstly reverses the sequence, then replaces the sequence with its difference sequence: $ [5,-3]\to[-3,5]\to[8] $ . It can be proven that this maximizes the sum, so the answer is $ 8 $ . In the third test case, Cirno can choose not to operate, so the answer is $ 1001 $ .