#include <bits/stdc++.h>
#include <iomanip>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>
using namespace std;
#define ll long long
#define pb push_back
#define all(a) a.begin(),a.end()
#define death ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define sz(x) ((int)(x).size())
#define el "\n";
#define inf INT_MAX
#define neinf INT_MIN
#define INF LONG_LONG_MAX
#define neINF LONG_LONG_MIN
//#define int ll
////////////////////////////////////global variables//////////////////////////////////////////////////
/////////////////////////////////////functions///////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
void neverland() {
string name; cin>>name;
int n; cin>>n;
map<string,int>mp;
vector<pair<int,string>>pr;
while(n--){
string name1,action,on,name2; cin>>name1>>action;
if (action=="p"){
cin>>on>>name2>>on;
name2.pop_back();
name2.pop_back();
if (name1==name)
mp[name2]+=15;
else if (name2==name)
mp[name1]+=15;
}
else if (action=="c"){
name2.pop_back();
name2.pop_back();
cin>>on>>name2>>on;
if (name1==name)
mp[name2]+=10;
else if (name2==name)
mp[name1]+=10;
}
else{
cin>>name2>>on;
name2.pop_back();
name2.pop_back();
if (name1==name)
mp[name2]+=5;
else if (name2==name)
mp[name1]+=5;
}
// vector<pair<int,string>>pr;
}
for(auto it:mp){
pr.pb({it.second,it.first});
}
sort(all(pr), greater<pair<int, string>>());
for(auto loop:pr)
cout<<loop.second<<endl;
}
int main() {
death;
int t=1;
// cin>>t;
while(t--){
neverland();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8ZXh0L3BiX2RzL2Fzc29jX2NvbnRhaW5lci5ocHA+CiNpbmNsdWRlIDxleHQvcGJfZHMvdHJlZV9wb2xpY3kuaHBwPgp1c2luZyBuYW1lc3BhY2UgX19nbnVfcGJkczsKI2RlZmluZSBvcmRlcmVkX3NldCB0cmVlPGludCwgbnVsbF90eXBlLCBsZXNzPGludD4sIHJiX3RyZWVfdGFnLCB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgYWxsKGEpICBhLmJlZ2luKCksYS5lbmQoKQojZGVmaW5lIGRlYXRoIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKI2RlZmluZSBzeih4KSAoKGludCkoeCkuc2l6ZSgpKQojZGVmaW5lIGVsICJcbiI7CiNkZWZpbmUgaW5mIElOVF9NQVgKI2RlZmluZSBuZWluZiBJTlRfTUlOCiNkZWZpbmUgSU5GIExPTkdfTE9OR19NQVgKI2RlZmluZSBuZUlORiBMT05HX0xPTkdfTUlOCi8vI2RlZmluZSBpbnQgbGwKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vZ2xvYmFsIHZhcmlhYmxlcy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vZnVuY3Rpb25zLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZvaWQgbmV2ZXJsYW5kKCkgewogICAgc3RyaW5nIG5hbWU7ICBjaW4+Pm5hbWU7CiAgICBpbnQgbjsgY2luPj5uOwogICAgbWFwPHN0cmluZyxpbnQ+bXA7CiAgICB2ZWN0b3I8cGFpcjxpbnQsc3RyaW5nPj5wcjsKICAgIHdoaWxlKG4tLSl7CiAgICAgICAgc3RyaW5nIG5hbWUxLGFjdGlvbixvbixuYW1lMjsgY2luPj5uYW1lMT4+YWN0aW9uOwogICAgIGlmIChhY3Rpb249PSJwIil7CiAgICAgICAgIGNpbj4+b24+Pm5hbWUyPj5vbjsKICAgICAgICAgbmFtZTIucG9wX2JhY2soKTsKICAgICAgICAgbmFtZTIucG9wX2JhY2soKTsKICAgICAgICAgaWYgKG5hbWUxPT1uYW1lKQogICAgICAgICAgICAgbXBbbmFtZTJdKz0xNTsKICAgICAgICAgZWxzZSBpZiAobmFtZTI9PW5hbWUpCiAgICAgICAgICAgICBtcFtuYW1lMV0rPTE1OwogICAgIH0KICAgICBlbHNlIGlmIChhY3Rpb249PSJjIil7CiAgICAgICAgIG5hbWUyLnBvcF9iYWNrKCk7CiAgICAgICAgIG5hbWUyLnBvcF9iYWNrKCk7CiAgICAgICAgIGNpbj4+b24+Pm5hbWUyPj5vbjsKICAgICAgICAgaWYgKG5hbWUxPT1uYW1lKQogICAgICAgICAgICAgbXBbbmFtZTJdKz0xMDsKICAgICAgICAgZWxzZSBpZiAobmFtZTI9PW5hbWUpCiAgICAgICAgICAgICBtcFtuYW1lMV0rPTEwOwogICAgIH0KICAgICBlbHNlewogICAgICAgICBjaW4+Pm5hbWUyPj5vbjsKICAgICAgICAgbmFtZTIucG9wX2JhY2soKTsKICAgICAgICAgbmFtZTIucG9wX2JhY2soKTsKICAgICAgICAgaWYgKG5hbWUxPT1uYW1lKQogICAgICAgICAgICAgbXBbbmFtZTJdKz01OwogICAgICAgICBlbHNlIGlmIChuYW1lMj09bmFtZSkKICAgICAgICAgICAgIG1wW25hbWUxXSs9NTsKICAgICB9CiAgICAgIC8vICB2ZWN0b3I8cGFpcjxpbnQsc3RyaW5nPj5wcjsKCn0KICAgIGZvcihhdXRvIGl0Om1wKXsKICAgICAgICBwci5wYih7aXQuc2Vjb25kLGl0LmZpcnN0fSk7CiAgICB9CiAgICBzb3J0KGFsbChwciksIGdyZWF0ZXI8cGFpcjxpbnQsIHN0cmluZz4+KCkpOwogICAgZm9yKGF1dG8gbG9vcDpwcikKICAgICAgICBjb3V0PDxsb29wLnNlY29uZDw8ZW5kbDsKfQoKaW50IG1haW4oKSB7CiAgICBkZWF0aDsKICAgIGludCB0PTE7CiAgICAvLyBjaW4+PnQ7CiAgICB3aGlsZSh0LS0pewogICAgICAgIG5ldmVybGFuZCgpOwogICAgfQp9