#include #include #include #include #include #include #include #include #include #include #include #include template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } char ToUpper(char cX) { return toupper(cX); } char Tolower(char cX) { return tolower(cX); } const long long INF = 1LL << 60; const long long MOD = 1000000007; using namespace std; typedef unsigned long long ull; typedef long long ll; vector dp; int main() { vector> x; ll n; cin >> n; string d[4] = { "iti","ni","san","yon" }; for (ll i = 0; i < n; i++) { string temp, temp2; cin >> temp >> temp2; if (temp2 == "iti") { x.push_back(make_pair(temp, 1)); } if (temp2 == "ni") { x.push_back(make_pair(temp, 2)); } if (temp2 == "san") { x.push_back(make_pair(temp, 3)); } if (temp2 == "yon") { x.push_back(make_pair(temp, 4)); } } stable_sort(x.begin(), x.end()); for (ll i = 0; i < n; i++) { cout << x[i].first << " " << d[x[i].second - 1] << endl; } return 0; }