#include <bits/stdc++.h>
#pragma GCC optimize("O3", "Ofast", "inline")
using namespace std;
const int N = 35;
long long sum[N];
multiset<int> s[N];
int get(int x) {
  int t = 1, now = 0;
  while (t <= x) {
    t <<= 1;
    now++;
  }
  return now;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0), cout.tie(0);
  int _, cnt = 0;
  cin >> _;
  while (_--) {
    char op;
    int x;
    cin >> op >> x;
    int p = get(x);
    if (op == '+') {
      s[p].insert(x);
      sum[p] += x;
      cnt++;
    } else {
      s[p].erase(s[p].find(x));
      sum[p] -= x;
      cnt--;
    }
    if (cnt < 2) {
      cout << 0 << '\n';
      continue;
    }
    long long pre = 0, bad = 0;
    for (int i = 0; i < 35; i++) {
      if (!s[i].empty()) {
        if (pre && pre * 2 < (*s[i].begin())) bad++;
        pre += sum[i];
      }
    }
    cout << cnt - 1 - bad << '\n';
  }
  return 0;
}
