#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<set>
#include<stack>
#include<map>
#include<cmath>
using namespace std;
const int N = 100003, M = 103, inf = 0x3f3f3f3f;
typedef pair<int, int> PIR;
typedef long long ll;
int w[N];
int f[N];//f[i]:从前i个物品中选得到的最大值
//f[i]的转移方程有两个,一个是从前一个转移来:f[i]=f[i-1];
//另一个是从前面第二个转移来:f[i]=f[i-2]+w[i],取最大值
int main()
{
int T;
cin >> T;
while (T--)
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
int x;
cin >> x;
if (i == 1)
f[i] = x;
if (i > 1)
f[i] = max(f[i - 1], f[i - 2] + x);
}
cout << f[n] << endl;
}
return 0;
}