#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int t;
  cin >> t;
  while (t--) {
    long long int n, i, mx = 0, j;
    cin >> n;
    long long int a[n];
    for (i = 0; i < n; i++) {
      cin >> a[i];
    }
    if (n == 1) {
      cout << a[0];
    } else {
      vector<long long int> vi;
      for (i = 0; i < n; i++) {
        if (a[i] < 0) {
          mx = a[i];
          for (j = i; j < n; j++) {
            if (a[i] < 0 && a[j] < 0) {
              mx = max(mx, a[j]);
            } else {
              i = j - 1;
              vi.push_back(mx);
              break;
            }
          }
        } else {
          mx = a[i];
          for (j = i; j < n; j++) {
            if (a[i] > 0 && a[j] > 0) {
              mx = max(mx, a[j]);
            } else {
              i = j - 1;
              vi.push_back(mx);
              break;
            }
          }
        }
      }
      mx = -100000000000;
      for (i = n - 1; i >= 0; i--) {
        if (a[n - 1] < 0 && a[i] < 0) {
          mx = max(mx, a[i]);
        } else {
          break;
        }
      }
      if (mx != -100000000000) {
        vi.push_back(mx);
      }
      mx = 0;
      for (i = n - 1; i >= 0; i--) {
        if (a[n - 1] > 0 && a[i] > 0) {
          mx = max(mx, a[i]);
        } else {
          break;
        }
      }
      vi.push_back(mx);
      long long int sum = 0;
      for (auto x : vi) {
        sum += x;
      }
      cout << sum;
      cout << '\n';
    }
  }
}
