#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second
#define repl(i,a,b) for(int i=(int)(a);i<(int)(b);i++)
#define rep(i,n) repl(i,0,n)
#define each(itr,v) for(auto itr:v)
#define pb(s) push_back(s)
#define mp(a,b) make_pair(a,b)
#define all(x) (x).begin(),(x).end()
#define dbg(x) cout<<#x"="<<x<<endl
#define maxch(x,y) x=max(x,y)
#define minch(x,y) x=min(x,y)
#define uni(x) x.erase(unique(all(x)),x.end())
#define exist(x,y) (find(all(x),y)!=x.end())
#define bcnt(x) bitset<32>(x).count()

typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, ll> P;
typedef pair<P, ll> PPI;
typedef pair<ll, P> IPP;

#define INF INT_MAX/3

#define MAX_N 1000

int n;
set<PPI> mem;

int main(){
	cin.sync_with_stdio(false);
	while(1){
		cin>>n;
		if(n==0)break;
		mem.clear();
		mem.insert(PPI(P(0,1e9+10),-1));
		rep(i,n){
			char op;
			cin>>op;
			if(op=='W'){
				ll file,sizes;
				cin>>file>>sizes;
				bool end=false;
				vector<PPI> later,later2;
				each(it,mem){
					if(it.se==-1){
						int idx=it.fi.fi,maxsize=it.fi.se;
						if(maxsize>sizes){
							later.pb(PPI(P(idx,sizes),file));
							later.pb(PPI(P(idx+sizes,maxsize-sizes),-1));
							end=true;
						}else{
							later.pb(PPI(P(idx,maxsize),file));
							sizes-=maxsize;
							if(sizes==0)end=true;
						}
						later2.pb(it);
					}
					if(end)break;
				}
				rep(i,later.size())mem.insert(later[i]);
				rep(i,later2.size())mem.erase(later2[i]);
			}else if(op=='D'){
				ll file;
				vector<PPI> later,later2;
				cin>>file;
				each(it,mem){
					if(it.se==file){
						later.pb(PPI(P(it.fi.fi,it.fi.se),-1));
						later2.pb(it);
					}
				}
				rep(i,later.size())mem.insert(later[i]);
				rep(i,later2.size())mem.erase(later2[i]);
			}else if(op=='R'){
				ll sec;
				cin>>sec;
				each(it,mem){
					if(it.fi.fi<=sec&&sec<it.fi.fi+it.fi.se){
						cout<<it.se<<endl;
						break;
					}
				}
			}
		}
		cout<<endl;
	}
	return 0;
}