#include<cstdio> #include<algorithm> #include<cstring> using namespace std; //逆序数排序 struct Node{ int cnt; char str[105]; } DNA[500]; bool cmp(Node &A,Node &B) { return A.cnt<B.cnt; } int main() { int n,m,sum; char s[105]; scanf("%d%d",&n,&m); getchar(); for(int i = 0;i<m;++i) { sum = 0; gets(s); strcpy(DNA[i].str,s); for(int j = 0;j<n;++j) { for(int k = j;k<n;++k) if(s[j]>s[k]) sum++; } DNA[i].cnt = sum; } sort(DNA,DNA+m,cmp); for(int i = 0;i<m;++i) puts(DNA[i].str); return 0; }