#include <iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct sexcel{
char num[10];
char name[10];
int score;
}excel[100050];
bool cmp1(sexcel c1,sexcel c2){
int res=strcmp(c1.num,c2.num);
if(res<0) return true;
else return false;
}
bool cmp2(sexcel c1,sexcel c2){
int res=strcmp(c1.name,c2.name);
if(res<0) return true;
else if(res>0) return false;
else{
return cmp1(c1,c2);
}
}
bool cmp3(sexcel c1,sexcel c2){
int res=c1.score-c2.score;
if(res<0) return true;
else if(res>0) return false;
else{
return cmp1(c1,c2);
}
}
int main()
{
int n,c,kase=0;
while(cin>>n>>c){
if(n==0) break;
for(int i=0;i<n;++i){
cin>>excel[i].num>>excel[i].name>>excel[i].score;
}
if(c==1)
sort(excel,excel+n,cmp1);
else if(c==2) sort(excel,excel+n,cmp2);
else sort(excel,excel+n,cmp3);
cout<<"Case "<<++kase<<":\n";
//cout<<"Case "<<":\n";
for(int i=0;i<n;++i){
cout<<excel[i].num<<' '<<excel[i].name<<' '<<excel[i].score<<'\n';
}
}
return 0;
}