#include<bits/stdc++.h>
using namespace std;
queue<string>q;
int n;
int str[500010];
int v(string a)
{
int sum = 0 , l = a.size();
for(int i = 0 ; i < l ; i++)
{
sum += a[i] * (i + 1) + 1 + i - a[i + 1] / 12;
if(i >= 1) sum += a[i - 1] * (sqrt(a[i]) - sqrt(i));
}
return sum;
}
string td[3] = {"qewifvsfdtgreuyakjfdsknre" , "qewifvsfdtgreuyakjfdsknre" , "qewifvsfdtgreuyakjfdsknre"};
int main()
{
cin >> n;
while(n--)
{
string s;
cin >> s;
if(s == "start")
{
for(int i = 1 ; i <= 2 ; i++)
{
if(td[i] != "qewifvsfdtgreuyakjfdsknre")
{
int val = v(td[i]);
if(str[val] == 2)
{
q.push(td[i]);
str[val] = 1;
}
td[i] = "qewifvsfdtgreuyakjfdsknre";
}
}
if(q.empty()) cout << "Error";
else
{
int y = 2;
int k = 1;
for(int i = 1 ; i <= y ; i++)
{
if(q.empty()) break;
else
{
string t = q.front();
int val = v(t);
if(str[val] == 0)
{
q.pop();
if(q.empty())
{
cout << "Error";
break;
}
y++;
continue;
}
cout << t << ' ';
str[val] = 2;
q.pop();
td[k++] = t;
if(q.empty()) break;
}
}
}
cout << endl;
}
else if(s == "arrive")
{
string name;
cin >> name;
int val = v(name);
if(str[val] == 1 || str[val] == 2) cout << "Error";
else if(str[val] == 0)
{
cout << "OK";
str[val] = 1;
q.push(name);
}
cout << endl;
}
else if(s == "leave")
{
string name;
cin >> name;
int val = v(name);
if(str[val] == 2 || str[val] == 0) cout << "Error";
else if(str[val] == 1)
{
cout << "OK";
str[val] = 0;
}
cout << endl;
}
}
return 0;
}