human
What is a Python program to print the above mentioned status given the following:

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
# cod
assistant
#Here is Python program to print the above mentioned status.
ing: 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"