#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void sortowanieWektora(vector<string>&sortowanyWektor) {
sort(sortowanyWektor.begin(), sortowanyWektor.end());
}
void wypisanieDanych(vector<string>wektorDoWypisania) {
int ileWyrazow=wektorDoWypisania.size();
for(int i=0; i<ileWyrazow; i++) {
cout<<wektorDoWypisania[i]<<endl;
}
}
int main() {
string wyraz;
vector<string>wyrazy;
while(getline(cin,wyraz)) {
wyrazy.push_back(wyraz);
sortowanieWektora(wyrazy);
wypisanieDanych(wyrazy);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdm9pZCBzb3J0b3dhbmllV2VrdG9yYSh2ZWN0b3I8c3RyaW5nPiZzb3J0b3dhbnlXZWt0b3IpIHsKICAgIHNvcnQoc29ydG93YW55V2VrdG9yLmJlZ2luKCksIHNvcnRvd2FueVdla3Rvci5lbmQoKSk7Cn0Kdm9pZCB3eXBpc2FuaWVEYW55Y2godmVjdG9yPHN0cmluZz53ZWt0b3JEb1d5cGlzYW5pYSkgewogICAgaW50IGlsZVd5cmF6b3c9d2VrdG9yRG9XeXBpc2FuaWEuc2l6ZSgpOwogICAgZm9yKGludCBpPTA7IGk8aWxlV3lyYXpvdzsgaSsrKSB7CiAgICAgICAgY291dDw8d2VrdG9yRG9XeXBpc2FuaWFbaV08PGVuZGw7CiAgICB9Cn0KaW50IG1haW4oKSB7CiAgICBzdHJpbmcgd3lyYXo7CiAgICB2ZWN0b3I8c3RyaW5nPnd5cmF6eTsKICAgIHdoaWxlKGdldGxpbmUoY2luLHd5cmF6KSkgewogICAgICAgIHd5cmF6eS5wdXNoX2JhY2sod3lyYXopOwogICAgICAgIHNvcnRvd2FuaWVXZWt0b3JhKHd5cmF6eSk7CiAgICAgICAgd3lwaXNhbmllRGFueWNoKHd5cmF6eSk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K