#include<bits/stdc++.h>
using namespace std;
struct node {
int l,r;
node(int l=0,int r=-1):l(l),r(r){}
bool operator<(const node&a)const{
return l<a.l;
}
};
set<node> s;
int n,l,r; char op;
void print(){
printf("size: %d\n",s.size());
for(auto[l,r]:s) cout<<l<<' '<<r<<'\n';
}
main(){
for(cin>>n;n--;){
print();
cin>>op;
if(op=='A'){
cin>>l>>r;
int cnt=0;
auto itl=s.lower_bound(l);
if(itl==s.end()) {
cout<<"0\n";
continue;
}
assert(itl!=s.begin());
auto it=--itl;
if(it->r>=l) ++cnt;
set<node>::iterator itr=s.begin();
for(auto st=itl;st!=s.end();++st){
if(st->l<=r) ++cnt;
else {itr=st;break;}
}
if(itr==s.begin())itr=s.end();
cout<<cnt<<'\n';
if(it->r>=l) s.erase(it,itr);
else s.erase(itl,itr);
s.emplace(l,r);cout<<s.size()<<'\n';
}
else cout<<s.size()<<'\n';
}
}