#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
const int maxn=100010;
struct Student{
char id[8],name[10];
int grade;
}stu[maxn];
int C;
bool cmp(Student a,Student b){
if(C==1) return strcmp(a.id,b.id)<0;
else if(C==2){
if(strcmp(a.name,b.name)) return strcmp(a.name,b.name)<0;
else return strcmp(a.id,b.id)<0;
}else{
if(a.grade!=b.grade) return a.grade<b.grade;
else return strcmp(a.id,b.id)<0;
}
}
int main()
{
int N;
scanf("%d%d",&N,&C);
for(int i=0;i<N;i++){
scanf("%s %s %d",stu[i].id,stu[i].name,&stu[i].grade);
}
sort(stu,stu+N,cmp);
for(int i=0;i<N;i++){
printf("%s %s %d\n",stu[i].id,stu[i].name,stu[i].grade);
}
return 0;
}
比较直白的一道排序题了