#include <bits/stdc++.h>
using namespace std;
int main() {
  int tt;
  cin >> tt;
  while (tt--) {
    long long i, sum = 0, temp, n, pos = 0, neg = 2 << 32, x;
    cin >> n;
    vector<long long> v;
    for (i = 1; i <= n; i++) {
      cin >> temp;
      v.push_back(temp);
    }
    for (i = 0; i < n - 1; i++) {
      if (v[i] > 0 && v[i + 1] > 0)
        pos = max(v[i + 1], v[i]);
      else if (v[i] > 0 && v[i + 1] < 0) {
        if (pos == 0)
          sum += v[i];
        else {
          sum += pos;
          pos = 0;
        }
      } else if (v[i] < 0 && v[i + 1] < 0)
        neg = max(v[i + 1], v[i]);
      else if (v[i] < 0 && v[i + 1] > 0) {
        if (neg == 2 << 32)
          sum += v[i];
        else {
          sum += neg;
          neg = 2 << 32;
        }
      }
    }
    if (v[n - 1] > 0 && v[n - 2] > 0) {
      if (v[n - 1] > v[n - 2])
        sum += v[n - 1];
      else
        sum += pos;
    }
    if (v[n - 1] < 0 && v[n - 2] < 0) {
      if (v[n - 1] > v[n - 2])
        sum += v[n - 1];
      else
        sum += neg;
    } else if (v[n - 1] > 0 && v[n - 2] < 0 || v[n - 1] < 0 && v[n - 2] > 0)
      sum += v[n - 1];
    cout << sum << endl;
  }
}
