#include <bits/stdc++.h> using namespace std; // 检查是否满足规则 2 bool myFunc1(const string &str) { int count = 0; bool flag[4] = { 0 }; for (auto ch : str) { if (!flag[0] && ch >= '0' && ch <= '9') { ++count; flag[0] = true; } else if (!flag[1] && ch >= 'a' && ch <= 'z') { ++count; flag[1] = true; } else if (!flag[2] && ch >= 'A' && ch <= 'Z') { ++count; flag[2] = true; } else if (!flag[3]) { ++count; flag[3] = true; } if (count >= 3) return true; } return false; } // 检查是否满足规则 3 bool myFunc2(const string &str) { for (int i = 0; i < str.size() - 3; ++i) { int count = 0, startPos = 0; string tmp(str.begin() + i, str.begin() + i + 3); while ((startPos = str.find(tmp, startPos)) != str.npos) { ++count; ++startPos; if (count >= 2) return false; } } return true; } int main() { string str; while (getline(cin, str)) { if (str.size() <= 8) { cout << "NG" << endl; continue; } if (!myFunc1(str)) { cout << "NG" << endl; continue; } if (myFunc2(str)) cout << "OK" << endl; else cout << "NG" << endl; } return 0; }