#include <iostream>
#include<cmath>
using namespace std;
void sortowanie(string *litery, long long *liczby, int *a, int *b, int ile)
{
long long zmienna,licznik;
string pomocna;
while(licznik)
{licznik=0;
for(int n=ile;n>1;n--)
{
if(liczby[n-1]>liczby[n-2])
{
zmienna=liczby[n-1];
liczby[n-1]=liczby[n-2];
liczby[n-2]=zmienna;
pomocna=litery[n-1];
litery[n-1]=litery[n-2];
litery[n-2]=pomocna;
zmienna=b[n-1];
b[n-1]=b[n-2];
b[n-2]=zmienna;
zmienna=a[n-1];
a[n-1]=a[n-2];
a[n-2]=zmienna;
licznik++;
}
continue;
}
}
for(int i=ile-1;i>=0;i--)
{
cout<<litery[i]<<" "<<a[i]<<" "<<b[i]<<endl;
}
}
int main()
{
int testy;
cin>>testy;
for(int i=0;i<testy;i++)
{int ile; int *a,*b;
string *litery;
long long *liczby;
cin>>ile;
litery=new string [ile];
liczby=new long long [ile];
a=new int [ile];
b=new int [ile];
for(int j=0;j<ile;j++)
{
cin>>litery[j]>>a[j]>>b[j];
liczby[j]=pow(a[j],2)+pow(b[j],2);
}cout<<endl;
sortowanie(litery, liczby, a, b,ile);
delete [] a;
delete [] litery;
delete [] liczby;
delete [] b;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxjbWF0aD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgc29ydG93YW5pZShzdHJpbmcgKmxpdGVyeSwgbG9uZyBsb25nICpsaWN6YnksIGludCAqYSwgaW50ICpiLCBpbnQgaWxlKQp7CmxvbmcgbG9uZyB6bWllbm5hLGxpY3puaWs7CnN0cmluZyBwb21vY25hOwoKd2hpbGUobGljem5paykKe2xpY3puaWs9MDsKZm9yKGludCBuPWlsZTtuPjE7bi0tKQp7CiAgICBpZihsaWN6Ynlbbi0xXT5saWN6Ynlbbi0yXSkKICAgICAgIHsKICAgICAgICB6bWllbm5hPWxpY3pieVtuLTFdOwogICAgICAgIGxpY3pieVtuLTFdPWxpY3pieVtuLTJdOwogICAgICAgIGxpY3pieVtuLTJdPXptaWVubmE7CgogICAgICAgIHBvbW9jbmE9bGl0ZXJ5W24tMV07CiAgICAgICAgbGl0ZXJ5W24tMV09bGl0ZXJ5W24tMl07CiAgICAgICAgbGl0ZXJ5W24tMl09cG9tb2NuYTsKCiAgICAgICAgem1pZW5uYT1iW24tMV07CiAgICAgICAgYltuLTFdPWJbbi0yXTsKICAgICAgICBiW24tMl09em1pZW5uYTsKCiAgICAgICAgem1pZW5uYT1hW24tMV07CiAgICAgICAgYVtuLTFdPWFbbi0yXTsKICAgICAgICBhW24tMl09em1pZW5uYTsKCiAgICAgICAgbGljem5paysrOwogICAgICAgfQogICAgICAgY29udGludWU7Cn0KCn0KCmZvcihpbnQgaT1pbGUtMTtpPj0wO2ktLSkKewogICAgY291dDw8bGl0ZXJ5W2ldPDwiICI8PGFbaV08PCIgIjw8YltpXTw8ZW5kbDsKfQp9CgoKaW50IG1haW4oKQp7CiAgICBpbnQgdGVzdHk7CiAgICBjaW4+PnRlc3R5OwoKICAgIGZvcihpbnQgaT0wO2k8dGVzdHk7aSsrKQogICAge2ludCBpbGU7IGludCAqYSwqYjsKICAgICAgICBzdHJpbmcgKmxpdGVyeTsKICAgICAgICBsb25nIGxvbmcgKmxpY3pieTsKICAgICAgICBjaW4+PmlsZTsKICAgICAgICBsaXRlcnk9bmV3IHN0cmluZyBbaWxlXTsKICAgICAgICBsaWN6Ynk9bmV3IGxvbmcgbG9uZyBbaWxlXTsKICAgICAgICBhPW5ldyBpbnQgW2lsZV07CiAgICAgICAgYj1uZXcgaW50IFtpbGVdOwogICAgICAgIGZvcihpbnQgaj0wO2o8aWxlO2orKykKICAgICAgIHsKICAgICAgICAgICAgY2luPj5saXRlcnlbal0+PmFbal0+PmJbal07CiAgICAgICAgICAgIGxpY3pieVtqXT1wb3coYVtqXSwyKStwb3coYltqXSwyKTsKICAgICAgICB9Y291dDw8ZW5kbDsKICAgICAgICBzb3J0b3dhbmllKGxpdGVyeSwgbGljemJ5LCBhLCBiLGlsZSk7CgpkZWxldGUgW10gYTsKZGVsZXRlIFtdIGxpdGVyeTsKZGVsZXRlIFtdIGxpY3pieTsKZGVsZXRlIFtdIGI7CgogICAgfQoKICAgIHJldHVybiAwOwp9Cg==