/*
题意很容易理解,用set<author,book>来记录在架图书和归还的图书,这样顺序是按照题目要求的。
然后使用字典b2a记录图书的作者。
*/
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#include<set>
#include<string.h>
#include<math.h>
#include<queue>
#include<unordered_map>
using namespace std;
int main(){
string s;
unordered_map<string,string>b2a;
set<pair<string,string>>dic,ret;
while(getline(cin,s)&&s!="END"){
auto pos=s.rfind('"');
auto book=s.substr(0,pos+1),author=s.substr(pos+5);
b2a[book]=author;
dic.insert(make_pair(author,book));
}
while(getline(cin,s)&&s!="END"){
if(s=="SHELVE"){
for(auto &p:ret){
auto pos=dic.lower_bound(p);
if(pos==dic.begin())cout<<"Put "<<p.second<<" first"<<endl;
else cout<<"Put "<<p.second<<" after "<<(*prev(pos)).second<<endl;
dic.insert(p);
}
printf("END\n");
ret.clear();
}else{
auto order=s.substr(0,6),book=s.substr(7);
auto tmp=make_pair(b2a[book],book);
if(order=="BORROW")dic.erase(dic.find(tmp));
else if(order=="RETURN")ret.insert(tmp);
}
}
return 0;
}