#include<bits/stdc++.h>
using namespace std;
const int N=4e5+10;
#define ls u<<1
#define rs u<<1|1
typedef pair<int,int>PII;
int T,x,y,cnt,a[N],b[N],s[N*4];
string op;
set<int>S[N*4];
struct Query{
string op;
int x,y;
}Q[N];
void pushup(int u){s[u]=max(s[ls],s[rs]);}
int len;
void modify(int u,int x,int y,int op=1,int l=0,int r=len){
if(l==r){
if(op==1)S[u].insert(y);
else S[u].erase(y);
if(S[u].size()==0)s[u]=0;
else s[u]=*(--S[u].end());
return;
}
int mid=l+r>>1;
if(x<=mid)modify(ls,x,y,op,l,mid);
else modify(rs,x,y,op,mid+1,r);
pushup(u);
}
auto p=make_pair(-1,-1);
PII q(int u,int x,int y,int l=0,int r=len){
if(r<x)return p;
if(s[u]<y)return p;
if(l==r)return make_pair(l,*S[u].lower_bound(y));
int mid=l+r>>1;
auto L=q(ls,x,y,l,mid);
if(L==p)return q(rs,x,y,mid+1,r);
else return L;
}
int mp[N];
signed main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>T;
for(int i=1;i<=T;i++){
cin>>op>>x>>y;
Q[i]={op,x,y};
a[cnt++]=x,a[cnt++]=y;
}
sort(a,a+cnt);
len=unique(a,a+cnt)-a;
for(int i=1;i<=T;i++){
op=Q[i].op,x=Q[i].x,y=Q[i].y;
int k=1;
if(op=="remove")k=-1;
if(op=="find"){
x=lower_bound(a,a+len,x+1)-a;
y=lower_bound(a,a+len,y+1)-a;
auto t=q(1,x,y);
if(t==p)cout<<-1<<'\n';
else cout<<a[t.first]<<" "<<a[t.second]<<'\n';
}
else{
x=lower_bound(a,a+len,x)-a;
y=lower_bound(a,a+len,y)-a;
modify(1,x,y,k);
}
}
}