#include <iostream>
#include <string>
#include <math.h>
#include <algorithm>
#include <functional>
using namespace std;
int main()
{
int t;
cin >> t;
for (int i = 0; i < t; i++)
{
string nazwa[1000];
int tablica_x[1000];
int tablica_y[1000];
double tablica_wynikow[1000];
int ile_punktow;
cin >> ile_punktow;
double wynik1;
for (int i = 0; i < ile_punktow; i++)
{
cin >> nazwa[i];
cin >> tablica_x[i];
cin >> tablica_y[i];
wynik1 = sqrt( pow(abs(tablica_x[i]),2) + pow(abs(tablica_y[i]), 2));
tablica_wynikow[i] = wynik1;
}
sort(tablica_wynikow, tablica_wynikow + ile_punktow);
int k = 0;
double wynik;
while (k<ile_punktow)
{
for (int i = 0; i < ile_punktow; i++)
{
wynik = sqrt(pow(abs(tablica_x[i]), 2) + pow(abs(tablica_y[i]), 2));
if (tablica_wynikow[k] == wynik)
{
cout << nazwa[i] << " " << tablica_x[i] << " " << tablica_y[i] << endl;
}
}
k++;
}
cout << endl;
}
system("pause");
return 0;
}
ICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxzdHJpbmc+CiAgICAjaW5jbHVkZSA8bWF0aC5oPgogICAgI2luY2x1ZGUgPGFsZ29yaXRobT4KICAgICNpbmNsdWRlIDxmdW5jdGlvbmFsPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewoJaW50IHQ7CgljaW4gPj4gdDsKCWZvciAoaW50IGkgPSAwOyBpIDwgdDsgaSsrKQoJewoJCXN0cmluZyBuYXp3YVsxMDAwXTsKCQlpbnQgdGFibGljYV94WzEwMDBdOwoJCWludCB0YWJsaWNhX3lbMTAwMF07CgkJZG91YmxlIHRhYmxpY2Ffd3luaWtvd1sxMDAwXTsKCgkJaW50IGlsZV9wdW5rdG93OwoJCWNpbiA+PiBpbGVfcHVua3RvdzsKCQlkb3VibGUgd3luaWsxOwoKCQlmb3IgKGludCBpID0gMDsgaSA8IGlsZV9wdW5rdG93OyBpKyspCgkJewoJCQljaW4gPj4gbmF6d2FbaV07CgkJCWNpbiA+PiB0YWJsaWNhX3hbaV07CgkJCWNpbiA+PiB0YWJsaWNhX3lbaV07CgkJCXd5bmlrMSA9IHNxcnQoIHBvdyhhYnModGFibGljYV94W2ldKSwyKSArIHBvdyhhYnModGFibGljYV95W2ldKSwgMikpOwoJCQl0YWJsaWNhX3d5bmlrb3dbaV0gPSB3eW5pazE7CgkJfQoKCQlzb3J0KHRhYmxpY2Ffd3luaWtvdywgdGFibGljYV93eW5pa293ICsgaWxlX3B1bmt0b3cpOwoKCQlpbnQgayA9IDA7CgkJZG91YmxlIHd5bmlrOwoKCQl3aGlsZSAoazxpbGVfcHVua3RvdykKCQl7CgkJCWZvciAoaW50IGkgPSAwOyBpIDwgaWxlX3B1bmt0b3c7IGkrKykKCQkJewoJCQkJd3luaWsgPSBzcXJ0KHBvdyhhYnModGFibGljYV94W2ldKSwgMikgKyBwb3coYWJzKHRhYmxpY2FfeVtpXSksIDIpKTsKCQkJCWlmICh0YWJsaWNhX3d5bmlrb3dba10gPT0gd3luaWspCgkJCQl7CgkJCQkJY291dCA8PCBuYXp3YVtpXSA8PCAiICIgPDwgdGFibGljYV94W2ldIDw8ICIgIiA8PCB0YWJsaWNhX3lbaV0gPDwgZW5kbDsKCQkJCX0KCQkJfQoKCQkJaysrOwoJCX0KCQljb3V0IDw8IGVuZGw7Cgl9CglzeXN0ZW0oInBhdXNlIik7CglyZXR1cm4gMDsKfQ==