#include <iostream>
#include <stdlib.h>
using namespace std;
struct rectangle
{
	int index;
	int len;
	int wid;
};
int main()
{
    int n;
	void sort(rectangle *p,int k);
	void print(rectangle *p,int k);
	cin>>n;
	while(n--)
	{
		int m,i,max;
		cin>>m;
		rectangle rect[1005];
		for(i=0;i<m;i++)
		{
			cin>>rect[i].index;
			cin>>rect[i].len;
			cin>>rect[i].wid;
			if(rect[i].len<rect[i].wid)
			{
                max=rect[i].len;rect[i].len=rect[i].wid;rect[i].wid=max;
			}
		}
		sort(rect,m);
		print(rect,m);
	}
  
	return 0;
 }

void sort(rectangle *p,int k)
{
	int i,j;
	rectangle *q=new rectangle;
    for(i=0;i<k-1;i++)
		for(j=i+1;j<k;j++)
			if((*(p+i)).index>(*(p+j)).index)
			{
				*q=*(p+i);*(p+i)=*(p+j);*(p+j)=*q;
			}
			else if((*(p+i)).index==(*(p+j)).index)
			{
				if((*(p+i)).len>(*(p+j)).len){*q=*(p+i);*(p+i)=*(p+j);*(p+j)=*q;}
				else if((*(p+i)).len==(*(p+j)).len)
				{
					 if((*(p+i)).wid>(*(p+j)).wid)
					 {
						 *q=*(p+i);
						 *(p+i)=*(p+j);
						 *(p+j)=*q;
					 }
					 else if((*(p+i)).wid==(*(p+j)).wid)
					 {
						 (*(p+j)).index=0;
						 (*(p+j)).len=0;
						 (*(p+j)).wid=0;
					 }
				}
				
			}

}
void print(rectangle *p,int k)
{
	int i;
	for(i=0;i<k;i++)
		if((*(p+i)).index)
	{
		cout<<(p+i)->index<<" "<<(p+i)->len<<" "<<(p+i)->wid<<endl;
	}
}