/**
每个字符串会少于100个字符
将这输入的该组字符串按每个字符串的长度,由小到大排序,按排序结果输出字符串。
*/
#include<stdio.h>
#include<string.h>
void sort(char str[][300], int n) {
int i, j;
char temp[300];
for (i = 0; i < n - 1; i++) //按照字符串长度 冒泡排序
for (j = 0; j < n - 1 - i; j++) {
int len1 = strlen(str[j]);
int len2 = strlen(str[j + 1]);
if (len1 >= len2) {
strcpy(temp, str[j]);
strcpy(str[j], str[j + 1]);
strcpy(str[j + 1], temp);
}
}
}
int main() {
int i, n, k;
while ( scanf("%d", &n) != EOF) {
char str[n][300];
getchar();
for (i = 0; i < n; i++) {
gets(str[i]);
if (str[i][0] == 's' && str[i][1] == 't' && str[i][2] == 'o' &&
str[i][3] == 'p') {
break;
}
}
sort(str, i); //n=5 i=5 4
for (k = 0; k < i; k++) {
printf("%s\n",str[k]);
}
}
return 0;
}