#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int fie[101][101],ans,gol[101][101],st[101][101],col,muki,bx,by;
int bex[]={0,1,0,-1},bey[]={1,0,-1,0},cou;
int func(int y,int x){
    if(y<1||x<1)return 0;
    if(fie[y][x]==0)return 0;
    if(fie[y][x]==6){
        cou=1;
        return 0;
    }
    if(cou==1)return 0;
    if(fie[y][x]!=ans){
        fie[y][x]=0;
        return 0;
    }
    if(fie[y][x]==ans){
        for(int i=0;i<4;i++){
            func(y+bey[i],x+bex[i]);
        }
    }
    return 0;
}
int main(){
    int a,b,sx,sy,gx,gy,n;
    for(;;){
        cin>>a>>b;
        if(a==0&&b==0)break;
        fill(fie[0],fie[0]+101*101,0);
        cin>>sx>>sy>>gx>>gy;
        cin>>n;
        for(int i=0;i<n;i++){
            cin>>col>>muki>>bx>>by;
            if(muki==0){
                for(int i=0;i<=1;i++){
                    for(int j=0;j<=3;j++){
                        fie[by+i][bx+j]=col;
                    }
                }
            }
            if(muki==1){
                for(int i=0;i<=3;i++){
                    for(int j=0;j<=1;j++){
                        fie[by+i][bx+j]=col;
                    }
                }
            }
        }
        fie[gy][gx]=6;
        ans=fie[sy][sx];
        func(sy,sx);
        if(cou==1)cout<<"OK"<<endl;
        else cout<<"NG"<<endl;
        cou=0;
    }
return 0;
}