#include <cstring>
#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int arr[N], f[N];
// 普通解法 f[i] = max(f[i], f[i - 2] + arr[i])
int main() {
int t, n;
cin >> t;
while (t--) {
cin >> n;
memset(f, 0, sizeof f);
for (int i = 2; i <= n + 1; i++) {
cin >> arr[i];
f[i] = max(f[i - 1], f[i - 2] + arr[i]);
}
cout << f[n + 1] << endl;
}
return 0;
}
#include <cstring>
#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int arr[N], f[N][2];
// 状态机解法 0表示不选,1表示选。
// 有0->0,0->1, 1-> 0
// f[i,0] = max(f[i-1, 0], f[i-1, 1])
// f[i, 1] = f[i - 1, 0] + arr[i]
int main() {
int t, n;
cin >> t;
while (t--) {
cin >> n;
memset(f, 0, sizeof f);
for (int i = 2; i <= n + 1; i++) {
cin >> arr[i];
f[i][0] = max(f[i - 1][0], f[i - 1][1]);
f[i][1] = f[i - 1][0] + arr[i];
}
cout << max(f[n + 1][0], f[n + 1][1]) << endl;
}
return 0;
}