#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
bool checkRepeat(char* s)
{
bool result = false;
uint32_t length;
int i,j,k;
length = strlen(s);
for (i=0; i<length-3; ++i) {
for (j=i+3; j<length-3; ++j) {
if (s[i] == s[j]) {
for (k=0; k<3; ++k) {
if (s[i+k] != s[j+k]) {
break;
} else {}
}
if (k==3) {
result = true;
break;
}
} else {}
}
if (result) {
break;
} else {}
}
return result;
}
int main() {
char s[101];
uint32_t length;
bool num,up,low,c,repeat;
uint32_t type = 0;
while (scanf("%s", s) != EOF) {
num=false,up=false,low=false,c=false;
type = 0;
length = strlen(s);
for (int i=0; i<length; ++i) {
if (s[i]>='0' && s[i]<='9') {
if (!num) {
num = true;
type++;
} else {}
} else if (s[i]>='A' && s[i]<='Z') {
if (!up) {
up = true;
type++;
} else {}
} else if (s[i]>='a' && s[i]<='z') {
if (!low) {
low = true;
type++;
} else {}
} else if (s[i]!=' ' && s[i]!='\n') {
if (!c) {
c = true;
type++;
} else {}
} else {}
}
repeat = checkRepeat(s);
if (repeat || type<3 || length<=8) {
printf("NG\n");
} else {
printf("OK\n");
}
memset(s, 0, sizeof(char)*length);
}
return 0;
}