#include<list>
#include<cstdio>

using namespace std;

struct Data{
	int id,pos,len;
	Data(){}
	Data(int I,int P,int L):id(I),pos(P),len(L){}
};

int main(){
	for(int n;scanf("%d",&n),n;){
		list<Data> L;
		list<Data>::iterator it;
		while(n--){
			char type; scanf(" %c",&type);
			if(type=='W'){
				int id,len; scanf("%d%d",&id,&len);
				int pos=0;
				for(it=L.begin();it!=L.end();++it){
					Data &a=*it;
					if(pos<a.pos){
						int d=min(a.pos-pos,len);
						len-=d;
						L.insert(it,Data(id,pos,d));
					}
					if(len==0) break;
					pos=a.pos+a.len;
				}
				if(len>0){
					L.insert(it,Data(id,pos,len));
				}
			}
			else if(type=='D'){
				int id; scanf("%d",&id);
				for(it=L.begin();it!=L.end();){
					Data &a=*it;
					if(id==a.id) it=L.erase(it);
					else ++it;
				}
			}
			else{
				int pos; scanf("%d",&pos);
				int ans=-1;
				for(it=L.begin();it!=L.end();++it){
					Data &a=*it;
					if(a.pos<=pos && pos<a.pos+a.len){
						ans=a.id;
						break;
					}
					if(pos<a.pos) break;
				}
				printf("%d\n",ans);
			}
		}
		putchar('\n');
	}

	return 0;
}