#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <map>
#include <functional>
#include <stdio.h>
#include <math.h>
using namespace std;

typedef std::vector<int> vi;
typedef std::vector<pair<int, int> > vii;
struct P{
		string name;
		int a, d;
		bool operator < (const P &p) const{
			return name < p.name;
		}
	}p[10];
int main() {
	int t, i, ca;
	
	cin >> t;
	for(ca=1;ca<=t;ca++){
		for(i=0;i<10;i++)
			cin>>p[i].name>>p[i].a>>p[i].d;
		for(i=0;i<9;i++)
			for(int j=0;j<9-i;j++)
				if(p[j+1].a>p[j].a || (p[j+1].a==p[j].a&& (p[j+1].d<p[j].d || (p[j+1].d==p[j].d&&p[j+1].name<p[j].name) )))
					swap(p[j], p[j+1]);
		sort(p, p+5);
		sort(p+5, p+10);
		printf("Case %d:\n(",ca);
		cout<<p[0].name;
		for(i=1;i<5;i++) cout<<", "<< p[i].name;
		cout<<")\n("<<p[5].name;
		for(i=6;i<10;i++) cout<<", "<< p[i].name;
		cout<<")"<<endl;

	}
	return 0;
}