
#include <iostream>
#include <string>
using namespace std;
bool isSuccess(const string &str, bool &isLenOk, bool &isSeriOk, bool &isNoSameStr){
int len = str.size();
isLenOk = len > 8;
int count = 0;
bool flag = false, flag1 = false, flag2 = false, flag3 = false;
for(int i = 0; i < len; ++i){
if(str[i] >= '0' && str[i] <= '9' && !flag){
flag = true;
count++;
}
else if(str[i] >= 'a' && str[i] <= 'z' && !flag1){
flag1 = true;
count++;
}
else if(str[i] >= 'A' && str[i] <= 'Z' && !flag2){
flag2 = true;
count++;
}
else if(!flag3){
flag3 = true;
count++;
}
}
isSeriOk = count >= 3;
for (int i = 0; i < len - 3; ++i) {
string temp = str.substr(i, 3);
string temp2 = str.substr(0, i) + str.substr(i + 3);
if (temp2.find(temp) != str.npos) {
return false;
}
}
return isLenOk && isSeriOk;
}
int main() {
string str;
while (cin >> str) {
bool isLenOk = false;
bool isSeriOk = false;
bool isNoSameStr = false;
if(isSuccess(str, isLenOk, isSeriOk, isNoSameStr)){
cout << "OK" << endl;
}
else{
cout << "NG" << endl;
}
}
}