//我这个是ac了的
#include <iostream>
#include <string>
using namespace std;
typedef struct{
string str;
int len;
}Sqstack; //随便取得名字
int main()
{
int n;
Sqstack *a[1000];
while(cin>>n){
if(n==0) return 0;
cin.ignore();//后面有getline函数一定要ingnore
string s;
for(int i=0;i<n;i++)
{
getline(cin,s);
if(s=="stop")
{
n=i;
break;
}
else{
a[i]=new Sqstack;
a[i]->str=s;
a[i]->len=s.length();
}
}//(for)
Sqstack *b;
for(int i=0;i<n;i++)
for(int j=0;j<(n-1);j++)
{
if((a[j]->len)>(a[j+1]->len))
{
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
for(int i=0;i<n;i++)
{
cout<<a[i]->str<<endl;
}
}//(while)
return 0;
}
/**************************************************************
Problem: 2219
User: admin
Language: C++
Result: Accepted
Time:9 ms
Memory:2076 kb
****************************************************************/