#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10

int main()
{
char data[][10]={"Max","Moritz","Bolte","Boeck","Lempel","Maecke","Huckebein","Schlich","Helene","Antonius"};
int ige,irt,ibl;

for (irt=0;irt < (N-1);irt++)
for (ige=irt+1;ige < N;ige++)
{
for (ibl=0; data[irt][ibl] == data[ige][ibl] && data[irt][ibl] != 0;ibl++) ; //Leeranweisung
if (data[irt][ibl] > data[ige][ibl])
{
char tmp;
for(ibl=0; ibl<10;ibl++)
{
tmp=data[irt][ibl];
data[irt][ibl]=data[ige][ibl];
data[ige][ibl]=tmp;
}
}
}

char (*dataneu)[10] = malloc( (N+1) * 10 );
memcpy( dataneu, data, sizeof data );
scanf("%9[^\n]",dataneu[N]);


for (irt=0;irt < (N);irt++)
for (ige=irt+1;ige < N+1;ige++)
{
for (ibl=0; dataneu[irt][ibl] == dataneu[ige][ibl] && dataneu[irt][ibl] != 0;ibl++) ; //Leeranweisung
if (dataneu[irt][ibl] > dataneu[ige][ibl])
{
char tmp;
for(ibl=0; ibl<10;ibl++)
{
tmp=dataneu[irt][ibl];
dataneu[irt][ibl]=dataneu[ige][ibl];
dataneu[ige][ibl]=tmp;
}
}
}
for(ibl=0; ibl<=N;ibl++)
  puts(dataneu[ibl]);

free(dataneu);
return 0;
}
