#include<iostream>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;
#define pai 3.1415928
struct zx {
	string id;
	string name;
	int score;
};
bool l1(zx x,zx y) {
	return x.id<y.id;
}
bool l2(zx x,zx y) {
	if(x.name==y.name)
		return 	x.id<y.id;
	else return x.name<y.name;
}
bool l3(zx x,zx y) {
	if(x.score==y.score)
		return 	x.id<y.id;
	else
		return x.score<y.score;
}
int main() {
	int n,m;
	while(cin>>n&&n!=0) {
		cin>>m;
		zx a[n];
		for(int i=0; i<n; i++)
			cin>>a[i].id>>a[i].name>>a[i].score;
		cout<<"Case:"<<endl;
		switch(m) {
			case 1:
				sort(a,a+n,l1);
				for(int i=0; i<n; i++)
					cout<<a[i].id<<" "<<a[i].name<<" "<<a[i].score<<endl;
				break;
			case 2:
				sort(a,a+n,l2);
				for(int i=0; i<n; i++)
					cout<<a[i].id<<" "<<a[i].name<<" "<<a[i].score<<endl;
				break;
			case 3:
				sort(a,a+n,l3);
				for(int i=0; i<n; i++)
					cout<<a[i].id<<" "<<a[i].name<<" "<<a[i].score<<endl;
				break;
		}
	}
	return 0;
}