<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
#include<cstdio>
#include<vector>
#include<algorithm>
#include<utility>
#include<numeric>
#include<iostream>
#include<array>
#include<string>
#include<sstream>
#include<stack>
#include<queue>
#include<list>
#include<functional>
#define _USE_MATH_DEFINES

#include<math.h>
#include<map>

#define INF 200000000

using namespace std;

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<ll, int> pli;

int main()
{
	cin.tie(0);
	ios::sync_with_stdio(false);

	double x1, x2, y1, y2, x3, y3;
	cin >> x1 >> y1 >> x2 >> y2;

	x3 = (x2 - x1);
	y3 = (y2 - y1);

	int q;
	cin >> q;

	for (int i = 0; i < q; i++)
	{
		double px, py, px2, py2;
		cin >> px >> py;

		px2 = (px - x1);
		py2 = (py - y1);

		if ((px2*px2 + py2*py2) <= 0.0000001 || (abs(px2 - x3) <= 0.000000001&&abs(py2 - y3) <= 0.000000001))
		{
			cout << "ON_SEGMENT" << endl;
			continue;
		}

		double cross = (py2*x3 - px2*y3);
		if (abs(cross) <= 0.00000000001)
		{
			if ((px2*x3 + py2*y3)>0)
			{
				if ((x3*x3 + y3*y3) < (px2*px2 + py2*py2))
				{
					cout << "ONLINE_FRONT" << endl;
				}
				else
				{
					cout << "ON_SEGMENT" << endl;
				}
			}
			else
			{
				cout << "ONLINE_BACK" << endl;
			}
		}
		else
		{
			if (cross > 0)
			{
				cout << "COUNTER_CLOCKWISE" << endl;
			}
			else
			{
				cout << "CLOCKWISE" << endl;
			}
		}
	}

	return 0;
}
