You are given an array a consisting of n integers. Indices of the array start from zero (i. e. the first element is a_0, the second one is a_1, and so on).

You can reverse at most one subarray (continuous subsegment) of this array. Recall that the subarray of a with borders l and r is a[l; r] = a_l, a_{l + 1}, ..., a_{r}.

Your task is to reverse such a subarray that the sum of elements on even positions of the resulting array is maximized (i. e. the sum of elements a_0, a_2, ..., a_{2k} for integer k = ⌊(n-1)/(2)⌋ should be maximum possible).

You have to answer t independent test cases.

Input

The first line of the input contains one integer t (1 ≤ t ≤ 2 ⋅ 10^4) — the number of test cases. Then t test cases follow.

The first line of the test case contains one integer n (1 ≤ n ≤ 2 ⋅ 10^5) — the length of a. The second line of the test case contains n integers a_0, a_1, ..., a_{n-1} (1 ≤ a_i ≤ 10^9), where a_i is the i-th element of a.

It is guaranteed that the sum of n does not exceed 2 ⋅ 10^5 (∑ n ≤ 2 ⋅ 10^5).

Output

For each test case, print the answer on the separate line — the maximum possible sum of elements on even positions after reversing at most one subarray (continuous subsegment) of a.

Example

Input


4
8
1 7 3 4 7 6 2 9
5
1 2 1 2 1
10
7 8 4 5 7 6 8 9 7 3
4
3 1 2 1


Output


26
5
37
5
def max_list(l):
    if len(l) == 1: return l[0]
    elif len(l) <= 2: return max(l[0], l[1])
    evens = [0]
    odds = [0]
    for p in range(len(l)):
        if (p % 2) == 0:
            evens.append(evens[-1] + l[p])
            odds.append(odds[-1])
        else:
            odds.append(odds[-1]+l[p])
            evens.append(evens[-1])
    combined = [evens[a]-odds[a] for a in range(len(evens))]
    min_combined_even = [2*((len(combined)-1)//2) for i in range(len(combined))]
    min_combined_odd = [2*(len(combined)//2-1)+1 for i in range(len(combined))]
    for i in range(len(combined)-2, -1, -1):
        if (i %2) == 0:
            if combined[i] <= combined[min_combined_even[i+1]]:
                min_combined_even[i] = i
            else:
                min_combined_even[i] = min_combined_even[i+1]
            min_combined_odd[i] = min_combined_odd[i+1]
        else:
            #print(combined)
            #print(min_combined_odd[i+1])
            if combined[i] <= combined[min_combined_odd[i+1]]:
                min_combined_odd[i] = i
            else:
                min_combined_odd[i] = min_combined_odd[i+1]
            min_combined_even[i] = min_combined_even[i+1]
    max_so_far = evens[-1]
    #print(combined, min_combined_even)
    for i in range(len(combined)):
        if (i% 2) == 0:
            max_so_far = max(max_so_far,
                    combined[i] - combined[min_combined_even[i]] + evens[-1])
        else:
            max_so_far = max(max_so_far,
                    combined[i] - combined[min_combined_odd[i]] + evens[-1])
        #if i == 0:
            #print(evens[i], odds[i], min_combined_odd[i], evens[min_combined_odd[i]],
            #      odds[min_combined_odd[i]])

    return max_so_far
        
t = int(input())
for i in range(t):
    n = int(input())
    print(max_list(list(map(int, input().split()))))
