#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
#define maxn 100010
using namespace std;
typedef struct Case{
string no;
string name;
int sco;
}Ca;
Ca c[maxn];
bool cmp1(Ca c1,Ca c2)
{
return c1.no<c2.no;
}
bool cmp2(Ca c1,Ca c2)
{
if(c1.name!=c2.name)return c1.name<c2.name;
return c1.no<c2.no;
}
bool cmp3(Ca c1,Ca c2)
{
if(c1.sco!=c2.sco)return c1.sco<c2.sco;
return c1.no<c2.no;
}
int main() {
int N,C;
while(cin>>N>>C)
{
for(int i=0;i<N;i++)
{
cin>>c[i].no>>c[i].name>>c[i].sco;
}
if(C==1){
sort(c,c+N,cmp1);
cout<<"Case:"<<endl;
for(int i=0;i<N;i++)
cout<<c[i].no<<" "<<c[i].name<<" "<<c[i].sco<<endl;
}
else if(C==2){
sort(c,c+N,cmp2);
cout<<"Case:"<<endl;
for(int i=0;i<N;i++)
cout<<c[i].no<<" "<<c[i].name<<" "<<c[i].sco<<endl;
}
else if(C==3){
sort(c,c+N,cmp3);
cout<<"Case:"<<endl;
for(int i=0;i<N;i++)
cout<<c[i].no<<" "<<c[i].name<<" "<<c[i].sco<<endl;
}
}
}
// 64 位输出请用 printf("%lld")