#include <bits/stdc++.h>
using namespace std;
const int N = 1000010;
long long sz[N];
int main(void) {
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    int flag = 0;
    for (int i = 1; i <= n; i++) {
      scanf("%lld", &sz[i]);
      if ((sz[i] > 0 && sz[i - 1] < 0) || (sz[i] < 0 && sz[i - 1] > 0))
        flag = 1;
    }
    if (!flag)
      puts("-1");
    else {
      long long res = 0;
      for (int i = 1; i <= n; i++) {
        int j = i + 1;
        long long p = sz[i];
        while (j <= n && sz[j] * sz[i] > 0) {
          p = max(p, sz[j]);
          j++;
        }
        res += p;
        i = j - 1;
      }
      cout << res << endl;
    }
  }
  return 0;
}
