#include <iostream>
#include <string>
void sortTab(std::string tab[][3] , int size);
int main()
{
int howManyStep = 0;
std::cin >> howManyStep;
do {
int index = 0;;
int size = 0;
std::cin >> index;
int flag = 0;
std::string tab[index][3];
for (int i = 0 ; i <index ; ++i) {
std::cin >> tab[size][0] >> tab[size][1] >> tab[size][2];
++size;
}
for (int i = 0 ; i < size ; ++i)
{
for (int j = i+1 ; j < size ; ++j)
{
if (tab[i][1] == tab[j][1] && tab[i][2] == tab[j][2]){
++flag;
}
}
}
if (flag > 0) {
--howManyStep;
std::cout << std::endl;
}
else {
sortTab(tab, size);
--howManyStep;
}
} while (howManyStep > 0);
return 0;
}
void sortTab (std::string tab[][3] , int size) {
for (int i = 0; i < size ; ++i) {
std::string tabTemp[1][3] = {};
for (int j = i+1 ; j < size ; ++j) {
if (tab[i][1] > tab[j][1]) {
tabTemp[0][0] = tab[i][0];
tabTemp[0][1] = tab[i][1];
tabTemp[0][2] = tab[i][2];
tab[i][0] = tab[j][0];
tab[i][1] = tab[j][1];
tab[i][2] = tab[j][2];
tab[j][0] = tabTemp[0][0];
tab[j][1] = tabTemp[0][1];
tab[j][2] = tabTemp[0][2];
}
else if (tab[i][1] == tab[j][1]) {
if (tab[i][2] > tab[j][2]) {
tabTemp[0][0] = tab[i][0];
tabTemp[0][1] = tab[i][1];
tabTemp[0][2] = tab[i][2];
tab[i][0] = tab[j][0];
tab[i][1] = tab[j][1];
tab[i][2] = tab[j][2];
tab[j][0] = tabTemp[0][0];
tab[j][1] = tabTemp[0][1];
tab[j][2] = tabTemp[0][2];
}
}
}
}
for (int i = 0; i < size ; ++i) {
std::cout << tab[i][0] << " " << tab[i][1] << " " << tab[i][2] << std::endl;
}
std::cout << std::endl;
}