#include <bits/stdc++.h>
using namespace std;
struct Fenwick {
  vector<long long int> bit;
  long long int size;
  void modify(long long int j, long long int v) {
    j++;
    for (; j < size; j += j & -j) bit[j] += v;
  }
  long long int query(long long int j) {
    j++;
    long long int v = 0;
    for (; j > 0; j -= j & -j) v += bit[j];
    return v;
  }
  long long int rangequery(long long int a, long long int b) {
    return query(b) - query(a - 1);
  }
  void rangeupdate(long long int a, long long int b, long long int v) {
    modify(a, v);
    modify(b + 1, -v);
  }
  Fenwick(long long int s) {
    s += 3;
    size = s;
    bit = vector<long long int>(s, 0);
  }
};
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int q;
  cin >> q;
  vector<long long int> Q(q);
  vector<long long int> ptr;
  for (long long int i = 0; i < q; i++) {
    char w;
    cin >> w;
    cin >> Q[i];
    if (w == '-') Q[i] = -Q[i];
  }
  for (long long int i = 0; i < q; i++) ptr.push_back(abs(Q[i]));
  sort((ptr).begin(), (ptr).end());
  ptr.resize(unique((ptr).begin(), (ptr).end()) - ptr.begin());
  auto lower = [&](long long int x) {
    return upper_bound((ptr).begin(), (ptr).end(), x) - ptr.begin() - 1;
  };
  Fenwick pref(((long long int)(ptr).size()));
  Fenwick cnt(((long long int)(ptr).size()));
  multiset<long long int> curr;
  for (long long int i = 0; i < q; i++) {
    if (Q[i] > 0) {
      pref.modify(lower(Q[i]), Q[i]);
      cnt.modify(lower(Q[i]), 1);
      curr.insert(Q[i]);
    } else {
      curr.erase(curr.find(-Q[i]));
      pref.modify(lower(-Q[i]), Q[i]);
      cnt.modify(lower(-Q[i]), -1);
    }
    long long int v = 0;
    long long int ans = 0;
    long long int last = 0;
    long long int c = 0;
    while (c < ((long long int)(curr).size())) {
      long long int w = lower(v * 2);
      long long int t = cnt.rangequery(last, w);
      c += t;
      if (t == 0) {
        ans--;
        v = *curr.lower_bound(v * 2);
      } else {
        ans += t;
        last = w + 1;
        v = pref.query(w);
      }
    }
    cout << ans << '\n';
  }
}
