時間制限 : sec, メモリ制限 : KB
English / Japanese  

反時計回り


3点 p0, p1, p2 について、

p0, p1, p2 が反時計回りになる場合(1)

COUNTER_CLOCKWISE

p0, p1, p2 が時計回りになる場合(2)

CLOCKWISE

p2, p0, p1 がこの順で同一直線上にある場合(3)

ONLINE_BACK

p0, p1, p2 がこの順で同一直線上にある場合(4)

ONLINE_FRONT

p2 が線分 p0p1 上にある場合(5)

ON_SEGMENT

と出力してください。

入力

xp0 yp0 xp1 yp1
q
xp20 yp20
xp21 yp21
...
xp2q−1 yp2q−1

1行目に p0, p1 の座標が与えられます。p2 の座標として、q 個のクエリが与えられます。入力はすべて整数で与えられます。

出力

各クエリについて、上記の状態のいずれかを1行に出力してください。

制約

  • 1 ≤ q ≤ 1,000
  • −10,000 ≤ xi, yi ≤ 10,000
  • p0, p1 は同一でない。

入出力例


入力例 1

0 0 2 0
5
-1 1
-1 -1
-1 0
0 0
3 0

出力例 1

COUNTER_CLOCKWISE
CLOCKWISE
ONLINE_BACK
ON_SEGMENT
ONLINE_FRONT

Note

      解説