#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int is_paixu(char *a,char *b){//循环比较各位大小
int i;
char th,ch;
for (i=0;i<min(strlen(a),strlen(b));i++){
if(a[i]>='a')
th=a[i]-32;
else
th=a[i];
if(b[i]>='a')
ch=b[i]-32;
else
ch=b[i];
if(th<ch||a[i]==' '){
return 0;
break;
}
else if(th>ch||b[i]==' ')
{return 1;
break;
}
else if(th==ch) continue;
}
}
void swap(char *&a,char* &b){//交换字符串的值
char *temp;
temp=a;
a=b;
b=temp;
}
int main(){
int n,l,i,j;
cin>>n;
l=n;
char a[100][100];
while(n--){//经dev验证存储在0-n-1中 n=0时仍继续循环 n=-1结束
cin>>a[n];
}
for(i=0;i<l-1;i++)
for(j=0;j<l-i-1;j++){
if(is_paixu(a[j],a[j+1])==1)
swap(a[j],a[j+1]);
}
for(i=0;i<l;i++){
cout<<a[i]<<endl;
}
}