#include using namespace std; typedef long long ll; typedef vector vi; typedef vector vl; typedef pair pii; typedef pair pll; typedef int _loop_int; #define REP(i,n) for(_loop_int i=0;i<(_loop_int)(n);++i) #define FOR(i,a,b) for(_loop_int i=(_loop_int)(a);i<(_loop_int)(b);++i) #define FORR(i,a,b) for(_loop_int i=(_loop_int)(b)-1;i>=(_loop_int)(a);--i) #define DEBUG(x) cout<<#x<<": "< P; char s[125252]; char OK[] = "CORRECT (maybe)"; char NG[] = "WRONG!"; int main(){ map mp; mp["digi"] = "nyo"; mp["petit"] = "nyu"; mp["gema"] = "gema"; mp["piyo"] = "pyo"; while(cin.getline(s,sizeof(s))){ int n = strlen(s); REP(i,n){ s[i] = tolower(s[i]); } string t(s); // split vector spl; istringstream iss(t); string tmp; while(getline(iss,tmp,' ')) spl.push_back(tmp); // go if(spl.size()==0){ puts(NG); continue; } if(spl[0]=="rabi"){ bool flag = false; FOR(i,5,n){ if(s[i]==' ')continue; if(isalnum(s[i])){ flag = true; break; } } if(flag){ puts(OK); }else{ puts(NG); } }else{ if(mp.count(spl[0])==0){ puts(NG); }else{ string po = mp[spl[0]]; string ar = spl.back(); bool flag = false; FOR(i,po.size(),po.size()+3+1){ if(ar.size()=po.size()&&ar.substr(0,po.size())==po){ // if(ar.size()>po.size()+3){ // puts(NG); // }else{ // bool flag = true; // FOR(i,po.size(),ar.size()){ // if(isalnum(ar[i])){ // flag = false; // break; // } // } // if(flag){ // puts(OK); // }else{ // puts(NG); // } // } // }else{ // puts(NG); // } } } } return 0; }