import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
class Main {
static class Node implements Comparable{
String str="";
int id=0;
int sortN=0;
Node(String str,int id,int sortN){
this.str=str;
this.id=id;
this.sortN=sortN;
}
public int compareTo(Object o) {
Node node=(Node)o;
if(node.sortN==sortN){
return node.id
}else{
return node.sortN
}
}
}
private static int getSortN(String str){
int len=str.length();
int ans=0;
for(int i=0;i
for(int j=i+1;j
if(str.charAt(i)>str.charAt(j))
ans++;
}
}
return ans;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
in.nextInt();
int ncase=in.nextInt();
List l=new ArrayList();
for(int i=0;i
String str=in.next();
l.add(new Node(str,i,getSortN(str)));
}
Collections.sort(l);
for(Iterator it=l.iterator();it.hasNext();){
System.out.println(it.next().str);
}
}
}