#include <bits/stdc++.h>
using namespace std;
multiset<int> all[40];
long long s[40];
int getpos(int x) {
  int ret = 0;
  while ((1 << ret) < x) ret++;
  return ret;
}
void check() {
  long long tot = 0LL;
  int ret = 0;
  for (int i = 0; i <= 31; i++) {
    ret += all[i].size();
    ret -= (all[i].size() && *(all[i].begin()) > 2 * tot);
    tot += s[i];
  }
  cout << ret << '\n';
}
int main() {
  int q;
  cin >> q;
  while (q--) {
    string op;
    int x;
    cin >> op >> x;
    int id = getpos(x);
    if (op == "+") {
      s[id] += x;
      all[id].insert(x);
    } else {
      s[id] -= x;
      all[id].erase(all[id].find(x));
    }
    check();
  }
  return 0;
}
