#include <bits/stdc++.h>
using namespace std;
bool CompareString(const string &str1, const string &str2)
{
if ((str1.size() < str2.size()) || (str1.size() == str2.size() && str1 < str2))
return true;
else return false;
}
int main()
{
int n;
cin >> n;
vector<string> unsorted(n);
for (int i = 0; i < n; i++)
{
cin >> unsorted[i];
}
const int _size = unsorted.size();
sort(unsorted.begin(), unsorted.end(), CompareString);
for (int i = 0; i < _size; ++i) {
cout << unsorted[i] << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBDb21wYXJlU3RyaW5nKGNvbnN0IHN0cmluZyAmc3RyMSwgY29uc3Qgc3RyaW5nICZzdHIyKQp7CiAgICBpZiAoKHN0cjEuc2l6ZSgpIDwgc3RyMi5zaXplKCkpIHx8IChzdHIxLnNpemUoKSA9PSBzdHIyLnNpemUoKSAmJiBzdHIxIDwgc3RyMikpCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICBlbHNlIHJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKQp7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgdmVjdG9yPHN0cmluZz4gdW5zb3J0ZWQobik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBjaW4gPj4gdW5zb3J0ZWRbaV07CiAgICB9CiAgICBjb25zdCBpbnQgX3NpemUgPSB1bnNvcnRlZC5zaXplKCk7CiAgICBzb3J0KHVuc29ydGVkLmJlZ2luKCksIHVuc29ydGVkLmVuZCgpLCBDb21wYXJlU3RyaW5nKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgX3NpemU7ICsraSkgewogICAgICAgIGNvdXQgPDwgdW5zb3J0ZWRbaV0gPDwgZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9