#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
char in[1000][200]={0};
int sig[1000]={0};
int a;
scanf("%d",&a);
int i,j,k,len;
for(i=0;i<a;i++)
{
int p=0;
scanf("%s",in[i]);
len = strlen(in[i]);
for(j=0;j<len&&j<8;j++)
{
if(in[i][j]>=97)
{
p=p+(in[i][j]-'a'+36)*pow(72,4-j);
}
else
{
p=p+(in[i][j]-'A')*pow(72,4-j);
}
}
sig[i]=p;
}
char h[200]={0};
for(i=0;i<a-1;i++)
{
for(j=0;j<a-i-1;j++)
{
if(sig[j]>sig[j+1])
{
k=sig[j];
sig[j]=sig[j+1];
sig[j+1]=k;
memcpy(h,in[j],100);
memcpy(in[j], in[j+1], 100);
memcpy(in[j+1], h, 100);
}
}
}
for(i=0;i<a;i++)
{
printf("%s\n",in[i]);
}
return 0;
}
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
char in[1000][200]={0};
int a;
scanf("%d",&a);
int i,j,k,len;
for(i=0;i<a;i++)
{
scanf("%s",in[i]);
}
char h[200]={0};
for(i=0;i<a-1;i++)
{
for(j=0;j<a-i-1;j++)
{
if(strcmp(in[j],in[j+1])>0)
{
sprintf(h, "%s", in[j+1]);
sprintf(in[j+1], "%s", in[j]);
sprintf(in[j], "%s", h);
}
}
}
for(i=0;i<a;i++)
{
printf("%s\n",in[i]);
}
return 0;
}