#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
using namespace std;
vector<string> a;
int main()
{
std::ios::sync_with_stdio(0);
int n,c,AKIOI,pep=0;
cin>>n;
string s[n+1],name[n+1],da[n+1],AC,AK,IOI,ACM,arrive="",start="";
for(c=1;c<=n;c++)
{
cin>>s[c];
if(s[c]=="start")
{
if(a.size()==0)
da[c]="Error";
else{
if(arrive!="")
a.push_back(arrive);
if(start!="")
a.push_back(start);
if(a.size()==1)
{
arrive=a.front();
da[c]=a.front();
a.erase(a.begin());
}
else{
arrive=a.front();
da[c]=a.front();
da[c]+=" ";
a.erase(a.begin());
start=a.front();
da[c]+=a.front();
a.erase(a.begin());
}
}
}
else{
cin>>name[c];
if(s[c]=="arrive")
{
if(a.size()==0)
{
a.push_back(name[c]);
da[c]="OK";
}
else{
string num_to_find=name[c];
vector<string>::iterator d=std::find(a.begin(),a.end(),num_to_find);
if(d!=a.end()||start==name[c]||arrive==name[c])
da[c]="Error";
if(da[c]!="Error")
{
da[c]="OK";
a.push_back(name[c]);
}
}
}
else{
string num_to_find=name[c];
vector<string>::iterator d=std::find(a.begin(),a.end(),num_to_find);
if(d==a.end())
da[c]="Error";
if(da[c]!="Error")
{
da[c]="OK";
a.erase(d);
}
}
}
}
for(AKIOI=1;AKIOI<=n;AKIOI++)
cout<<da[AKIOI]<<endl;
return 0;
}