#include <stdio.h>
#include <algorithm>
#include <string>
#include <iostream>
#include <cstring>
#include <vector>
using namespace std;

/*namespace std {
bool operator<(const string &s1, const string &s2){
    return s1.at(s1.size() - 1) < s2.at(s2.size() - 1);
}
}*/
int main(){
        vector <string> nameList;
        int n;
        cin>>n;
        while(n--){
            string name;
            char str[100];
            cin>>str;
            name += str;
            nameList.push_back(name);
        }

        sort(nameList.begin(), nameList.end(), [] (const string &s1, const string &s2){
  return s1.at(s1.size() - 1) < s2.at(s2.size() - 1);
});
for(int i = 0; i < nameList.size(); i++)
            cout<<nameList.at(i)<<endl;

        return 0;
}
