Testul de orientare


Trimite soluție

Puncte: 10 (parțial)
Limita de timp: 2.0s
Limita de memorie: 64M

Autori:
Tip de problemă

Descriere

Se dau trei puncte în plan, \(P, Q, R\), de coordonate \(P = (x_P, y_P)\), \(Q = (x_Q, y_Q)\) și \(R = (x_R, y_R)\). Să se stabilească poziția punctului \(R\) față de dreapta \(PQ\), folosind testul de orientare descris în curs.

Date de intrare

Se va citi de la tastatură \(t\), reprezentând numărul de teste. Următoarele \(t\) linii vor descrie fiecare câte un test. Fiecare linie conține șase numere întregi: \(x_P\), \(y_P\), \(x_Q\), \(y_Q\), \(x_R\) și \(y_R\), reprezentând coordonatele punctelor \(P\), \(Q\), \(R\).

Date de ieșire

Pentru fiecare test se va afișa, pe câte un rând separat, un mesaj corespunzator pozitiei punctului \(R\):

  • LEFT (dacă punctul \(R\) se află la stânga dreptei \(PQ\))
  • RIGHT (dacă punctul \(R\) se află la dreapta dreptei \(PQ\))
  • TOUCH (dacă punctul \(R\) se află pe dreapta \(PQ\))

Restricții și precizări

  • \(1 \leq t \leq 10^5\)
  • \(-10^9 \leq x_p, y_p, x_q, y_q, x_r, y_r \leq 10^9\)

De asemenea, trebuie să aveți în vedere că în mediul de lucru de pe CMS nu aveți posibilitatea să importați biblioteci externe (de exemplu, nu puteți importa numpy ca să folosiți numpy.linalg.det).

Exemplu

Input
3
1 1 5 3 2 3
1 1 5 3 4 1
1 1 5 3 3 2
Output
LEFT
RIGHT
TOUCH
Explicație

Datele de mai sus corespund următoarei situații:

Reprezentarea grafică a celor trei puncte din exemplu