<image>

For given three points p0, p1, p2, print


COUNTER_CLOCKWISE


if p0, p1, p2 make a counterclockwise turn (1),


CLOCKWISE


if p0, p1, p2 make a clockwise turn (2),


ONLINE_BACK


if p2 is on a line p2, p0, p1 in this order (3),


ONLINE_FRONT


if p2 is on a line p0, p1, p2 in this order (4),


ON_SEGMENT


if p2 is on a segment p0p1 (5).

Constraints

* 1 ≤ q ≤ 1000
* -10000 ≤ xi, yi ≤ 10000
* p0 and p1 are not identical.

Input


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


In the first line, integer coordinates of p0 and p1 are given. Then, q queries are given for integer coordinates of p2.

Output

For each query, print the above mentioned status.

Examples

Input

0 0 2 0
2
-1 1
-1 -1


Output

COUNTER_CLOCKWISE
CLOCKWISE


Input

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


Output

ONLINE_BACK
ON_SEGMENT
ONLINE_FRONT
# coding: utf-8
import math
class Point():
    def __init__(self, x, y):
        self.x = x
        self.y = y
        # self.z = 0
        self.length = math.sqrt(x**2 + y**2)

init_point = map(float,raw_input().split())
p0 = Point(init_point[0], init_point[1])
p1 = Point(init_point[2], init_point[3])

q = int(raw_input())
for i in range(q):
    xp2,yp2 = map(float,raw_input().split())
    p2 = Point(xp2,yp2)
    p0p2 = Point(p2.x - p0.x, p2.y - p0.y)
    p0p1 = Point(p1.x - p0.x, p1.y - p0.y)
    p1p2 = Point(p2.x - p1.x, p2.y - p1.y)
    # ?????????????????????(3)(4)(5)
    if p0p1.x * p0p2.y - p0p1.y * p0p2.x == 0:
        if max(p0p1.length, p0p2.length) < p1p2.length: 
            print "ONLINE_BACK"
        elif p0p1.length < p0p2.length:
            print "ONLINE_FRONT"
        elif p0p1.length >= p0p2.length:
            print "ON_SEGMENT"
    else:
        # ?????????z????????????
        z = p0p1.x * p0p2.y - p0p1.y * p0p2.x
        if z > 0:
            print "COUNTER_CLOCKWISE"
        else:
            print "CLOCKWISE"