def center_distance(x, y):
return round((int(x) ** 2 + int(y) ** 2) ** 0.5, 4)
def sorting(scores):
scores_2 = sorted(scores)
counter_not_order = 0
counter_order = 0
order = []
while counter_order < len(scores):
if scores[counter_not_order] != scores_2[counter_order]:
counter_not_order += 1
else:
order.append(counter_not_order)
counter_order += 1
counter_not_order = 0
return order
test = int(input())
for t in range(0, test):
names_list = []
x_list = []
y_list = []
scores_list = []
amount_points = int(input())
for tt in range(0, amount_points):
name, x, y = list(map(str, input().split()))
names_list.append(name)
x_list.append(int(x))
y_list.append(int(y))
scores_list.append(center_distance(x, y))
orders = sorting(scores_list)
for i in orders:
print(f'{names_list[i]} {x_list[i]} {y_list[i]}')
ZGVmIGNlbnRlcl9kaXN0YW5jZSh4LCB5KToKICAgIHJldHVybiByb3VuZCgoaW50KHgpICoqIDIgKyBpbnQoeSkgKiogMikgKiogMC41LCA0KQoKCmRlZiBzb3J0aW5nKHNjb3Jlcyk6CiAgICBzY29yZXNfMiA9IHNvcnRlZChzY29yZXMpCgogICAgY291bnRlcl9ub3Rfb3JkZXIgPSAwCiAgICBjb3VudGVyX29yZGVyID0gMAogICAgb3JkZXIgPSBbXQoKICAgIHdoaWxlIGNvdW50ZXJfb3JkZXIgPCBsZW4oc2NvcmVzKToKICAgICAgICBpZiBzY29yZXNbY291bnRlcl9ub3Rfb3JkZXJdICE9IHNjb3Jlc18yW2NvdW50ZXJfb3JkZXJdOgogICAgICAgICAgICBjb3VudGVyX25vdF9vcmRlciArPSAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb3JkZXIuYXBwZW5kKGNvdW50ZXJfbm90X29yZGVyKQogICAgICAgICAgICBjb3VudGVyX29yZGVyICs9IDEKICAgICAgICAgICAgY291bnRlcl9ub3Rfb3JkZXIgPSAwCgogICAgcmV0dXJuIG9yZGVyCgoKdGVzdCA9IGludChpbnB1dCgpKQoKZm9yIHQgaW4gcmFuZ2UoMCwgdGVzdCk6CgogICAgbmFtZXNfbGlzdCA9IFtdCiAgICB4X2xpc3QgPSBbXQogICAgeV9saXN0ID0gW10KICAgIHNjb3Jlc19saXN0ID0gW10KCiAgICBhbW91bnRfcG9pbnRzID0gaW50KGlucHV0KCkpCgogICAgZm9yIHR0IGluIHJhbmdlKDAsIGFtb3VudF9wb2ludHMpOgogICAgICAgIG5hbWUsIHgsIHkgPSBsaXN0KG1hcChzdHIsIGlucHV0KCkuc3BsaXQoKSkpCiAgICAgICAgbmFtZXNfbGlzdC5hcHBlbmQobmFtZSkKCiAgICAgICAgeF9saXN0LmFwcGVuZChpbnQoeCkpCiAgICAgICAgeV9saXN0LmFwcGVuZChpbnQoeSkpCiAgICAgICAgc2NvcmVzX2xpc3QuYXBwZW5kKGNlbnRlcl9kaXN0YW5jZSh4LCB5KSkKCiAgICBvcmRlcnMgPSBzb3J0aW5nKHNjb3Jlc19saXN0KQoKICAgIGZvciBpIGluIG9yZGVyczoKICAgICAgICBwcmludChmJ3tuYW1lc19saXN0W2ldfSB7eF9saXN0W2ldfSB7eV9saXN0W2ldfScpCg==