Obtiažnosť: ťažká

Triangular

Máme tri celé čísla, ktoré reprezentujú dĺžky strán trojuholníka. Chceme tieto trojuholníky "pomenovať" podľa nasledovných vlastností:

Ak daná trojica nie je trojuholník, tak not a triangle.

Ak je trojuholník zhodný s nejakým už videným, tak congruent to #X, kde $#X$ je index prvého trojuholníka, s ktorým je zhodný (číslujeme od 1).

Ak je podobný, tak similar to #X, kde $#X$ má funkciu ako v predchádzajúcom prípade.

Inak pomenovanie pozostáva z jednej, alebo dvoch častí. Prvá časť je podľa toho, či je ostrouhlý (acute), pravý (right) alebo tupouhlý (obtuse). Druhá časť sa vyskytne ak: sú všetky strany rovnaké (equilateral) alebo ak sú len dve rovnaké (isosceles).

Poznámky. Dva trojuholníky sú zhodné, ak jeden môže vzniknúť z druhého kombináciou otočenia, prevrátenia, alebo posunutia. Dva trojuholníky sú podobné, ak jeden dokáže byť zväčšený na trojuholník zhodný s druhým. Tri body na priamke netvoria trojuholník.

Vstup

Na prvom riadku je číslo $N$ ($N\leq 100\,000$) ­— počet trojuholníkov. Na ďalších $N$ riadkoch sú tri medzerami oddelené dĺžky strán medzi $1$ a $10^9$.

Výstup

Pre každý trojuholník vypíšte jeho pomenovanie. (Vypíšte práve jednu medzeru medzi každým slovom, ale žiadnu po poslednom).

Príklad

Vstup

6
3 4 5
47 47 42
40 30 50
42 47 47
3 4 9
100 101 190

Výstup

right
acute isosceles
similar to #1
congruent to #2
not a triangle
obtuse