#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 15
void sort(char *a[],int n)
{
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(strcmp(a[j],a[j+1])<0)
{
char c[N];
strcpy(c,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],c);
}
}
}
}
int main()
{
char *a[N];
int n;
scanf("%d",&n);//字符串个数
fflush(stdin);
for(int i=0;i<n;i++)
{
int j=0;
a[i]=(char *)malloc(sizeof(char)*15);
char c;
if(a[i]!=NULL)
{
do
{
c=getchar();
if(c!='\n') a[i][j++]=c;
}while(c!='\n');
}
fflush(stdin);
}
//在进行排序函数
sort(a,n);
for(int i=0;i<n;i++) printf("%s ",a[i]);
return 0;
}
#include<stdio.h>
#include<string.h>
#define N 60
void ch(char *s[],int n)
{
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(s[j]<s[j+1])
{
char a[N];
strcpy(a,s[j]);
strcpy(s[j],s[j+1]);
strcpy(s[j+1],a);
}
}
}
for(int i=0;i<n;i++) puts(s[i]);
}
int main()
{
int n;
scanf("%d",&n);
char *s[N];
for(int i=0;i<n;i++)
{
s[i]=(char *)malloc(sizeof(s[i]));
scanf("%s",s[i]);
}
ch(s,n);
return 0;
}