type rec=record
No:string[6];
na:string[8];
gra:shortint
end;
var a:array[1..100000]of rec;b:string[20];n,i,j,k,y:longint;
function sheng(a,b:rec):boolean;
begin
case k of
1:if a.No<b.No then sheng:=true else sheng:=false;
2:if a.na<b.na then sheng:=true else if a.na>b.na then sheng:=false else if a.No<b.No then sheng:=true else sheng:=false;
3:if a.gra<b.gra then sheng:=true else if a.gra>b.gra then sheng:=false else if a.No<b.No then sheng:=true else sheng:=false;
end;
end;
procedure sort(l,r:longint);
var i,j:longint;x,t:rec;
begin
i:=l;j:=r;x:=a[(i+j)div 2];
repeat
while sheng(a[i],x) do inc(i);
while sheng(x,a[j]) do dec(j);
if i<=j then
begin
t:=a[i];a[i]:=a[j];a[j]:=t;
inc(i);dec(j)
end
until i>j;
if j>l then sort(l,j);
if i<r then sort(i,r)
end;
begin
read(n);j:=0;
while n<>0 do
begin
inc(j);
readln(k);
for i:=1 to n do
begin
readln(b);
a[i].No:=copy(b,1,6);
delete(b,1,7);
a[i].na:=copy(b,1,pos(' ',b)-1);
delete(b,1,pos(' ',b));
val(b,a[i].gra,y)
end;
sort(1,n);
writeln('Case ',j,':');
for i:=1 to n do
writeln(a[i].No,' ',a[i].na,' ',a[i].gra);
read(n)
end
end.
/**************************************************************
Problem: 2200
User: admin
Language: Pascal
Result: Wrong Answer
****************************************************************/