#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

struct STU
{
	char id[7],name[9];
	int mark;
}stu[100000];

bool cmp1(STU a,STU b)
{
	return strcmp(a.id,b.id)<0?1:0;
}

bool cmp2(STU a,STU b)
{
	if(!strcmp(a.name,b.name))
		return strcmp(a.id,b.id)<0?1:0;
	return strcmp(a.name,b.name)<0?1:0;
}

bool cmp3(STU a,STU b)
{
	if(a.mark==b.mark)
		return strcmp(a.id,b.id)<0?1:0;
	return a.mark<b.mark;
}

int main()
{
	int n,c,i,Case=0;
	while(scanf("%d%d",&n,&c)!=EOF,n)
	{
		for(i=0;i<n;i++)
			scanf("%s%s%d",stu[i].id,stu[i].name,&stu[i].mark);
		if(c==1)
			sort(stu,stu+n,cmp1);
		else if(c==2)
			sort(stu,stu+n,cmp2);
		else
			sort(stu,stu+n,cmp3);
		Case++;
		printf("Case %d:\n",Case);
		for(i=0;i<n;i++)
			printf("%s %s %d\n",stu[i].id,stu[i].name,stu[i].mark);
	}
	return 0;
}
/**************************************************************
	Problem: 2200
	User: admin
	Language: C++
	Result: Accepted
	Time:103 ms
	Memory:3100 kb
****************************************************************/