#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
deque<string> dq;
set<string> st;
void change(){
while(dq.size()&&st.find(dq.front())==st.end()) dq.pop_front();
if(!dq.size()) return ;
dq.push_back(dq.front());
dq.pop_front();
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,qwq=0;
string s,x;
cin>>n;
while(n--){
cin>>s;
if(s=="start"){
while(dq.size()&&st.find(dq.front())==st.end()) dq.pop_front();
if(dq.size()) for(int i=1;i<=qwq;++i) change();
while(dq.size()&&st.find(dq.front())==st.end()) dq.pop_front();
if(dq.empty()) cout<<"Error"<<endl;
else if(dq.size()==1){
cout<<dq.front()<<endl;
qwq=1;
}
else{
if(st.find(dq[1])!=st.end()) cout<<dq[0]<<' '<<dq[1]<<endl;
else cout<<dq[0]<<' '<<dq[2]<<endl;
qwq=2;
}
}
else if(s=="arrive"){
cin>>x;
if(st.find(x)!=st.end()) cout<<"Error"<<endl;
else{
st.insert(x);
dq.push_back(x);
cout<<"OK"<<endl;
}
}
else{
cin>>x;
while(st.find(dq.front())==st.end()) dq.pop_front();
if(st.empty()) cout<<"Error"<<endl;
if(st.find(x)==st.end()||dq[0]==x) cout<<"Error"<<endl;
if((st.find(dq[1])==st.end()&&dq[2]==x)||(st.find(dq[1])!=st.end()&&dq[1]==x)) cout<<"Error"<<endl;
else{
st.erase(x);
cout<<"OK"<<endl;
}
}
}
return 0;
}