#include <bits/stdc++.h>
using namespace std;
#define P pair<long long int,long long int> // 需求量 , number
#define F first
#define S second
typedef long long int ll;
deque<P> q; // 記錄所有隊首
priority_queue<ll,vector<ll>,greater<ll> > pq; // 記錄所有不是隊首的包子需求量
ll N, a, n;
int main() {
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin>>N;
ll num=0; // 目前人數
ll cnt=0; // 目前發的包子數
ll wait=0; // 等待人數
while( N-->0 ){
cin>>a>>n;
if( a==1 ){
num++;
// 新的隊首
if( q.empty() ){
q.push_back({cnt+n,num});
continue;
}
P p=q.back();
if( cnt+n>=p.F ){
q.push_back({cnt+n,num});
continue;
}
// 非隊首
if( cnt+n<p.F ){
pq.push(cnt+n);
}
}
if( a==2 ){
cnt+=n;
while( !pq.empty() and pq.top()<=cnt ){
wait++;
pq.pop();
}
P p=q.front();
if( cnt<p.F ){
cout<<wait<<'\n';
continue;
}
// 移除隊首
ll now_n=p.S;
while( q.size()>1 and cnt>=p.F ){
q.pop_front();
p=q.front();
wait-=(p.S-now_n-1);
now_n=p.S;
}
if( cnt>=p.F and q.size()==1 ){
q.pop_front();
wait=0;
}
cout<<wait<<'\n';
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgUCBwYWlyPGxvbmcgbG9uZyBpbnQsbG9uZyBsb25nIGludD4gLy8g6ZyA5rGC6YePICwgbnVtYmVyCiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKZGVxdWU8UD4gcTsgLy8g6KiY6YyE5omA5pyJ6ZqK6aaWCnByaW9yaXR5X3F1ZXVlPGxsLHZlY3RvcjxsbD4sZ3JlYXRlcjxsbD4gPiBwcTsgLy8g6KiY6YyE5omA5pyJ5LiN5piv6ZqK6aaW55qE5YyF5a2Q6ZyA5rGC6YePCmxsIE4sIGEsIG47CgppbnQgbWFpbigpIHsKCWlvczo6c3luY193aXRoX3N0ZGlvKDApOwoJY2luLnRpZSgwKTsgY291dC50aWUoMCk7CgkKCWNpbj4+TjsKCWxsIG51bT0wOyAvLyDnm67liY3kurrmlbgKCWxsIGNudD0wOyAvLyDnm67liY3nmbznmoTljIXlrZDmlbgKCWxsIHdhaXQ9MDsgLy8g562J5b6F5Lq65pW4Cgl3aGlsZSggTi0tPjAgKXsKCQljaW4+PmE+Pm47CgkJaWYoIGE9PTEgKXsKCQkJbnVtKys7CgkJCS8vIOaWsOeahOmaiummlgoJCQlpZiggcS5lbXB0eSgpICl7CgkJCQlxLnB1c2hfYmFjayh7Y250K24sbnVtfSk7CgkJCQljb250aW51ZTsKCQkJfQoJCQlQIHA9cS5iYWNrKCk7CgkJCWlmKCBjbnQrbj49cC5GICl7CgkJCQlxLnB1c2hfYmFjayh7Y250K24sbnVtfSk7CgkJCQljb250aW51ZTsKCQkJfQoJCQkvLyDpnZ7pmorpppYKCQkJaWYoIGNudCtuPHAuRiApewoJCQkJcHEucHVzaChjbnQrbik7CgkJCX0KCQl9CgkJaWYoIGE9PTIgKXsKCQkJY250Kz1uOwoJCQl3aGlsZSggIXBxLmVtcHR5KCkgYW5kIHBxLnRvcCgpPD1jbnQgKXsKCQkJCXdhaXQrKzsKCQkJCXBxLnBvcCgpOwoJCQl9CgkJCQoJCQlQIHA9cS5mcm9udCgpOwoJCQlpZiggY250PHAuRiApewoJCQkJY291dDw8d2FpdDw8J1xuJzsKCQkJCWNvbnRpbnVlOwoJCQl9CQoJCQkvLyDnp7vpmaTpmorpppYKCQkJbGwgbm93X249cC5TOwoJCQl3aGlsZSggcS5zaXplKCk+MSBhbmQgY250Pj1wLkYgKXsKCQkJCXEucG9wX2Zyb250KCk7CgkJCQlwPXEuZnJvbnQoKTsKCQkJCXdhaXQtPShwLlMtbm93X24tMSk7CgkJCQlub3dfbj1wLlM7CgkJCX0KCQkJaWYoIGNudD49cC5GIGFuZCBxLnNpemUoKT09MSApewoJCQkJcS5wb3BfZnJvbnQoKTsKCQkJCXdhaXQ9MDsKCQkJfQoJCQkKCQkJY291dDw8d2FpdDw8J1xuJzsKCQl9CgkJCgl9Cn0=