#include <iostream> #include <cstdio> #include <string> #include <vector> #include <algorithm> using namespace std; struct MyString{ int order; int length; string s; MyString(int o,int l,string str):order(o),length(l),s(str){} bool operator<(const MyString &m)const{ if(length==m.length){ return order<m.order; } return length<m.length; } }; int main() { int n; string s; while(scanf("%d",&n)!=EOF){ vector <MyString> m; vector <MyString>::iterator it; for(int i=0;i<n;i++){ getline(cin,s); if(s=="stop" || s==""){ break; } m.push_back(MyString(i,s.size(),s)); } sort(m.begin(),m.end()); for(it=m.begin();it!=m.end();it++){ cout<<it->s<<endl; } } return 0; } // 64 位输出请用 printf("%lld")