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
from sys import stdin, stdout
import heapq
import cProfile
from collections import Counter, defaultdict, deque
from functools import reduce
import math
from bisect import bisect,bisect_right,bisect_left

def get_int():
    return int(stdin.readline().strip())


def get_tuple():
    return map(int, stdin.readline().split())


def get_list():
    return list(map(int, stdin.readline().split()))

def maxi(temp):
    max_so_far = 0
    curr_sum = 0
    ans_l,ans_r = 0,0
    l,r = 0,0
    for ind,val in enumerate(temp):
        curr_sum += val
        if curr_sum < 0:
            curr_sum = 0
            l = ind+1
        if curr_sum>max_so_far:
            max_so_far = curr_sum
            ans_r = ind
            ans_l = l
    if curr_sum > max_so_far:
        max_so_far = curr_sum
        ans_r = ind
        ans_l = l
    return ans_l,ans_r

def solve():
    n = get_int()
    ls = get_list()
    temp1 = []
    temp2 = []
    even_index_sum,even_index_sum1,even_index_sum2 = 0,0,0
    for i in range(0,n):
        if i%2==0:
            if i+1<n:
                temp1.append(ls[i+1]-ls[i])
            even_index_sum += ls[i]
        else:
            if i+1<n:
                temp2.append(ls[i]-ls[i+1])
    # First reversal
    l,r = maxi(temp1)
    l,r = l*2,r*2+1
    ans_ls1 = ls[:l]+list(reversed(ls[l:r+1]))+ls[r+1:]
    even_index_sum1 = sum([val for val in ans_ls1[::2]])
    #print(l, r, ans_ls1, even_index_sum1)

    # Second reversal
    #print(temp2)
    l, r = maxi(temp2)
    l, r = l * 2+1, r * 2+2
    ans_ls2 = ls[:l]+list(reversed(ls[l:r+1]))+ls[r+1:]
    even_index_sum2 = sum([val for val in ans_ls2[::2]])
    #print(l, r, ans_ls2,even_index_sum2)


    return max(even_index_sum,even_index_sum1,even_index_sum2)

def main():
    print(solve())


TestCases = True

if TestCases:
    for i in range(get_int()):
        main()
else:
    main()
