#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;
}