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

using namespace std;

int flg = -1;

void func(int current,int Table[101][101]){
	if(current == 2){
		bool isOK = true;
		for(int i=0; i < 101; i++){
			for(int k=0; k < 101; k++){
				if(Table[i][k] != 0){
					isOK = false;
					break;
				}
			}
		}

		if(isOK)flg = 1;
		return;
	}
	for(int i = 1; i < 101; i++){
		if(Table[current][i] > 0){
			int newTable[101][101];
			for(int p=0; p < 101; p++){
				for(int k=0; k < 101; k++)newTable[p][k] = Table[p][k];
			}
			newTable[current][i]--;
			newTable[i][current]--;
			func(i,newTable);
		}
	}
}

int main(){

	int a,b,Table[101][101];

	for(int i=0; i < 101; i++){
		for(int k=0; k < 101; k++)Table[i][k] = 0;
	}

	while(scanf("%d %d",&a,&b)!=EOF){
		if(a == 0 && b == 0){

			func(1,Table);

			if(flg == -1){
				printf("NG\n");
			}else{
				printf("OK\n");
			}

			for(int i=0; i < 101; i++){
				for(int k=0; k < 101; k++)Table[i][k] = 0;
			}
			flg = -1;
		}else{
			Table[a][b]++;
			Table[b][a]++;
		}
	}

	return 0;
}