#include <bits/stdc++.h>
using namespace std;
struct node
{
string name;
string k;
}a[10005];
string b[10005];
int cnt=1;
int main()
{
//freopen("list.in","r",stdin);
//freopen("list.out","w",stdout);
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].name;
cin>>a[i].k;
}
for(int i=1;i<=n;i++){
if(a[i].k=="SAME"){
b[i]=a[i].name;
}
}
for(int i=1;i<=n;i++){
if(a[i].k=="DOWN"){
if(b[cnt]==""){
b[cnt]=a[i].name;
cnt++;
}
else{
b[cnt+1]=a[i].name;
cnt+=2;
}
}
}
for(int i=1;i<=n;i++){
if(a[i].k=="UP"){
if(b[cnt]==""){
b[cnt]=a[i].name;
cnt++;
}
else{
b[cnt+1]=a[i].name;
cnt+=2;
}
}
}
for(int i=1;i<=n;i++){
cout<<b[i]<<endl;
}
return 0;
}