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
import sys
input=sys.stdin.buffer.readline

t=int(input())

for ___ in range(t):
    n=int(input())
    numbers=[int(x) for x in input().split()]
    
    if n==1:
        print(numbers[0])
        continue
    
    
    dpEven=[[-1 for _ in range(len(numbers))] for __ in range(3)] #start rotation on even
    
    #dpEven[0] for havent started rotation,dpEven[1] for started rotation,
    #dp[2] for ended rotation
    dpEven[0][0]=numbers[0]
    for i in range(2,len(numbers),2):
        dpEven[0][i]=dpEven[0][i-2]+numbers[i]
    
    dpEven[1][0]=numbers[1]
    for i in range(2,len(numbers)//2*2,2):
        dpEven[1][i]=max(dpEven[1][i-2], #started already
                          dpEven[0][i-2]) + numbers[i+1]#start here
    
    dpEven[2][0]=numbers[0]
    for i in range(2,len(numbers),2):
        dpEven[2][i]=max(dpEven[1][i-2], #end here
                          dpEven[2][i-2]) + numbers[i] #ended before
    
    if len(numbers)%2==0:
        evenMax=max(dpEven[2][-2],dpEven[1][-2],dpEven[0][-1])
    else:
        evenMax=max(dpEven[2][-1],dpEven[1][-1],dpEven[0][-1])
    
    dpOdd=[[-1 for _ in range(len(numbers))] for __ in range(3)] #start rotation on odd
    
    dpOdd[0][0]=numbers[0]
    for i in range(2,len(numbers),2):
        dpOdd[0][i]=dpOdd[0][i-2]+numbers[i]
    
    dpOdd[1][0]=numbers[0]
    for i in range(2,len(numbers),2):
        dpOdd[1][i]=max(dpOdd[0][i-2],
                         dpOdd[1][i-2]) + numbers[i-1]
    
    dpOdd[2][0]=numbers[0]
    for i in range(2,len(numbers),2):
        dpOdd[2][i]=max(dpOdd[1][i-2],
                         dpOdd[2][i-2]) + numbers[i]
    
    if len(numbers)%2==0:
        oddMax=max(dpOdd[0][-2],dpOdd[1][-2],dpOdd[2][-2])
    else:
        oddMax=max(dpOdd[0][-1],dpOdd[1][-1],dpOdd[2][-1])
    
    print(max(oddMax,evenMax))