#include <bits/stdc++.h>
using namespace std;
int main() {
  int TC;
  scanf("%d", &TC);
  while (TC--) {
    int n;
    scanf("%d", &n);
    vector<int> V;
    int x;
    scanf("%d", &x);
    V.push_back(x);
    for (int i = 1; i < n; i++) {
      scanf("%d", &x);
      if (V.back() < 0) {
        if (x < 0)
          V[V.size() - 1] = max(V.back(), x);
        else
          V.push_back(x);
      } else {
        if (x > 0)
          V[V.size() - 1] = max(V.back(), x);
        else
          V.push_back(x);
      }
    }
    if (V.size() % 2 == 0 || V.size() == 1) {
      long long int sum = 0;
      for (int i = 0; i < (int)V.size(); i++) sum += V[i];
      cout << sum << endl;
    } else {
      long long int sum = 0;
      if (V[0] < 0) {
        for (int i = 1; i < (int)V.size(); i++) sum += V[i];
      } else {
        for (int i = 0; i < (int)V.size() - 1; i++) sum += V[i];
      }
      cout << sum << endl;
    }
  }
}
