#include <stdio.h>
#include <math.h>

int main(void){
    int n;
    cin >> n;
    rep(i,n) {
        int count = 0;
        double x[8],y[8],a,b,c,d,p,q,det;
        //入力を多少簡略化
        for(int i=0;i<8;i++) {
            printf("x%d =? ",i+1); scanf("%lf" ,&x[i]);
            printf("y%d =? ",i+1); scanf("%lf" ,&y[i]);
        }
        rep(j,3) {
            //(x1,y1)(x2,y2)を結ぶax+by=p の係数
            a = y[j]-y[j+1];  b = x[j+1]-x[j];
            p = x[j+1]*y[j]-x[j]*y[j+1];
            //(x3,y3)(x4,y4)を結ぶcx+dy=q の係数
            c = y[6]-y[7];  d = x[7]-x[6];
            q = x[7]*y[6]-x[6]*y[7];
            //係数についての行列式
            det = a*d-c*b;
            //det=0で解は存在しない(この問題については２線分は同一直線上にないから)
            if(fabs(det) < 0.00001){
            } else {
                ansx = (d*p - b*q)/det;
                ansy = (-c*p + a*q)/det;
                //ansxがどちらの線分のx座標範囲にも含まれるかを判定
                if((x[0] - ansx)*(x[1] - ansx) <= 0.00001 && (x[6] - ansx)*(x[7] - ansx) <= 0.00001 ) {
                    count++;
                }
            }
        }
        if(count == 1) cout << "OK" << endl;
        else cout << "NG" << endl;
    }
}
