#include <bits/stdc++.h>
using namespace std;
int main() {
  string s, x, y, s1;
  cin >> s;
  s1 = s + "'s";
  int n;
  cin >> n;
  vector<string> v;
  map<string, int> m;
  for (int i = 0; i < n; i++) {
    int h = 0;
    v.clear();
    cin >> x;
    v.push_back(x);
    cin >> y;
    v.push_back(y);
    if (y == "posted") {
      for (int j = 2; j < 5; j++) {
        cin >> y;
        v.push_back(y);
      }
      if (v[0] == s) {
        string k = v[3];
        int ff = k.length();
        ff = ff - 2;
        k.erase(ff);
        v[3] = k;
        m[v[3]] += 15;
      } else if (v[0] != s && v[3] == s1) {
        m[v[0]] += 15;
      } else {
        m[v[0]] += 0;
        string k = v[3];
        int ff = k.length();
        ff = ff - 2;
        k.erase(ff);
        v[3] = k;
        m[v[3]] += 0;
      }
    } else if (y == "commented") {
      for (int j = 2; j < 5; j++) {
        cin >> y;
        v.push_back(y);
      }
      if (v[0] == s) {
        string k = v[3];
        int ff = k.length();
        ff = ff - 2;
        k.erase(ff);
        v[3] = k;
        m[v[3]] += 10;
      } else if (v[0] != s && v[3] == s1) {
        m[v[0]] += 10;
      } else {
        m[v[0]] += 0;
        string k = v[3];
        int ff = k.length();
        ff = ff - 2;
        k.erase(ff);
        v[3] = k;
        m[v[3]] += 0;
      }
    } else if (y == "likes") {
      for (int j = 2; j < 4; j++) {
        cin >> y;
        v.push_back(y);
      }
      if (v[0] == s) {
        string k = v[2];
        int ff = k.length();
        ff = ff - 2;
        k.erase(ff);
        v[2] = k;
        m[v[2]] += 5;
      } else if (v[0] != s && v[2] == s1) {
        m[v[0]] += 5;
      } else {
        m[v[0]] += 0;
        string k = v[2];
        int ff = k.length();
        ff = ff - 2;
        k.erase(ff);
        v[2] = k;
        m[v[2]] += 0;
      }
    }
  }
  vector<string> ve1;
  set<int> se;
  for (map<string, int>::iterator it = m.begin(); it != m.end(); it++) {
    string a = it->first;
    int b = it->second;
    ve1.push_back(a);
    se.insert(b);
  }
  vector<int> vv;
  for (set<int>::reverse_iterator it = se.rbegin(); it != se.rend(); it++)
    vv.push_back(*it);
  for (int k = 0; k < vv.size(); k++) {
    for (map<string, int>::iterator it = m.begin(); it != m.end(); it++) {
      if (it->second == vv[k]) cout << it->first << endl;
    }
  }
  return 0;
}
