#include <bits/stdc++.h>
using namespace std;
int main() {
  int TC;
  scanf("%d", &TC);
  while (TC--) {
    int n;
    scanf("%d", &n);
    int vet[200010];
    scanf("%d", &vet[0]);
    int cnt = 1;
    for (int i = 1; i < n; i++) {
      int x;
      scanf("%d", &x);
      if (x > 0) {
        if (vet[cnt - 1] > 0)
          vet[cnt - 1] = max(vet[cnt - 1], x);
        else
          vet[cnt++] = x;
      } else {
        if (vet[cnt - 1] < 0)
          vet[cnt - 1] = max(vet[cnt - 1], x);
        else
          vet[cnt++] = x;
      }
    }
    long long int resp = 0;
    if (cnt % 2 == 0 || cnt == 1) {
      for (int i = 0; i < cnt; i++) resp += vet[i];
    } else {
      long long int sum1 = 0;
      long long int sum2 = 0;
      long long int sum3 = 0;
      for (int i = 0; i < cnt - 1; i++) sum1 += vet[i];
      for (int i = 1; i < cnt; i++) sum2 += vet[i];
      for (int i = 0; i < cnt; i++) sum3 += vet[i];
      resp = max(max(sum1, sum2), sum3);
    }
    cout << resp << endl;
  }
}
