/* 0207 */
#include <iostream>
using namespace std;
int n,w,h;
int M[101][101];
int sx,sy,ex,ey;

int walk(int x,int y,int color){
	if(x<1||w<x||y<1||h<y)return 0;
	if(color!=M[x][y]||color==0)return 0;
	M[x][y]=0;
	if(x==ex&&y==ey)return 1;
	if(walk(x+1,y,color)|| walk(x-1,y,color)|| walk(x,y+1,color)|| walk(x,y-1,color))return 1;
	return 0;
}
int main(void){
	while(cin>>w>>h,w||h){
		cin>>sx>>sy>>ex>>ey;
		for(int i=1;i<=h;i++){
			for(int j=1;j<=w;j++){
				M[i][j]=0;
			}
		}
		int k;
		cin>>k;
		for(int i=0;i<k;i++){
			int w,x,y,z;
			cin>>w>>x>>y>>z;
			if(x){
				for(int Y=z;Y<z+4;Y++){
					for(int X=y;X<y+2;X++){
						M[Y][X]=w;
					}
				}
			}else{
				for(int Y=z;Y<z+2;Y++){
					for(int X=y;X<y+4;X++){
						M[Y][X]=w;
					}
				}
			}
		}
		// for(int i=1;i<=h;i++){
		// 	for(int j=1;j<=w;j++){
		// 		cout<<M[i][j]<<" ";
		// 	}
		// 	cout<<endl;
		// }
		if((sy==ey&&sx==ex)||walk(sx,sy,M[sx][sy]))cout<<"OK"<<endl;
		else cout<<"NG"<<endl;
		// if(M[c][d]==9)cout<<"OK"<<endl;
		// else cout<<"NG"<<endl;
	}
	return 0;
}