# include<stdio.h>
#include<iostream>
using namespace std;
struct stu {
string s;
int length;
};
int main() {
int n;
while (scanf("%d", &n) != EOF) {
struct stu a[n];
char tep = getchar();//吞掉scanf后面的回车换行字符
for (int i = 0; i < n; i++) {
getline(cin, a[i].s);
if (a[i].s == "stop") {
n = i;//结构体缩小
break;退出
}
a[i].length = a[i].s.length();
}
struct stu temp;//冒泡排序
for (int i = 0; i < n - 1; i++)
for (int j = 0; j < n - i - 1; j++) {
if (a[j].length > a[j + 1].length) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
for (int i = 0; i < n; i++) {
cout << a[i].s << endl;
}
}
}