#include<iostream>
using namespace std;
struct DNA
{
char dna[50];
int num;
};
int SortedNum(char temp[],int n)
{
int i=0,j=0,totalnum=0;
for (i=0;i<n;i++)
{
char t=temp[i];
for (j=i+1;j<n;j++)
{
if (t>temp[j])
{
totalnum++;
}
}
}
return totalnum;
}
void Deal()
{
int n,m,i,j;
cin>>n;//n是dna的长度
int totalnum[50];
if(n>0&&n<=50)
{
cin>>m;//m是个数
if (m>0&&m<=100)
{
DNA dna[100];
char dnas[100][50];
for (i=0;i<m;i++)
{
cin>>dnas[i];
}
for (i=0;i<m;i++)
{
totalnum[i]=SortedNum(dnas[i],n);
//dna[i]=(DNA *)malloc(sizeof(DNA));
for (j=0;j<n;j++)
{
dna[i].dna[j]=dnas[i][j];
dna[i].dna[j+1]='\0';
}
dna[i].num=totalnum[i];
}
//sort(dna->num);
for (i=0;i<m;i++)
{
for (j=i+1;j<m;j++)
{
if(dna[i].num>dna[j].num)
{
int temp=dna[i].num;
dna[i].num=dna[j].num;
dna[j].num=temp;
char tempdna[50];
strcpy(tempdna,dna[i].dna);
strcpy(dna[i].dna,dna[j].dna);
strcpy(dna[j].dna,tempdna);
}
}
}
//cout<<"测试输出"<<endl;
for (i=0;i<m;i++)
{
cout<<dna[i].dna<<endl;
}
}
}
}
int main()
{
Deal();
return 0;
}
using namespace std;
struct DNA
{
char dna[50];
int num;
};
int SortedNum(char temp[],int n)
{
int i=0,j=0,totalnum=0;
for (i=0;i<n;i++)
{
char t=temp[i];
for (j=i+1;j<n;j++)
{
if (t>temp[j])
{
totalnum++;
}
}
}
return totalnum;
}
void Deal()
{
int n,m,i,j;
cin>>n;//n是dna的长度
int totalnum[50];
if(n>0&&n<=50)
{
cin>>m;//m是个数
if (m>0&&m<=100)
{
DNA dna[100];
char dnas[100][50];
for (i=0;i<m;i++)
{
cin>>dnas[i];
}
for (i=0;i<m;i++)
{
totalnum[i]=SortedNum(dnas[i],n);
//dna[i]=(DNA *)malloc(sizeof(DNA));
for (j=0;j<n;j++)
{
dna[i].dna[j]=dnas[i][j];
dna[i].dna[j+1]='\0';
}
dna[i].num=totalnum[i];
}
//sort(dna->num);
for (i=0;i<m;i++)
{
for (j=i+1;j<m;j++)
{
if(dna[i].num>dna[j].num)
{
int temp=dna[i].num;
dna[i].num=dna[j].num;
dna[j].num=temp;
char tempdna[50];
strcpy(tempdna,dna[i].dna);
strcpy(dna[i].dna,dna[j].dna);
strcpy(dna[j].dna,tempdna);
}
}
}
//cout<<"测试输出"<<endl;
for (i=0;i<m;i++)
{
cout<<dna[i].dna<<endl;
}
}
}
}
int main()
{
Deal();
return 0;
}