#include<iostream> #include<cstring> using namespace std; char s[30]; int buc; bool correctl(char a) { return ('A'<=a && a<='Z'); } bool correctd(char a) { return ('0'<=a && a<='9'); } int e1(int a,int b) { int siz=b-a+1; if(siz==1 && s[a]=='B') buc=1; if(siz==1 && s[a]!='B') { return 0; } if(siz==2) { if(correctl(s[a])==0 || correctl(s[a+1])==0) return 0; } if(siz>2) return 0; return 1; } int e2(int a,int b) { int siz=b-a+1; if(siz==3 && buc!=1) return 0; if((siz<2 || siz>3) && buc==1) return 0; if(buc==1) { if(siz==3) if(correctd(s[a])==0 || correctd(s[a+1])==0 || correctd(s[a+2])==0) return 0; if(siz==2) if(correctd(s[a])==0 || correctd(s[a+1])==0) return 0; } else { if(siz!=2) return 0; if(correctd(s[a])==0 || correctd(s[a+1])==0) return 0; } return 1; } int e3(int a,int b) { int siz=b-a+1; if(siz!=3) return 0; if(correctl(s[a])==0 || correctl(s[a+1])==0 || correctl(s[a+2])==0) return 0; return 1; } int main() { int n,i,j,ls,ok,poz,etapa; cin>>n; cin.getline(s,22); for(i=1;i<=n;i++) { cin.getline(s,22); ls=strlen(s); poz=buc=0; etapa=ok=1; for(j=0;j<ls;j++) { if(s[j]==' ') { if(etapa==2) { ok=min(ok,e2(poz,j-1)); poz=j+1; etapa++; } if(etapa==1) { ok=min(ok,e1(poz,j-1)); poz=j+1; etapa++; } } } if(etapa==3) { ok=min(ok,e3(poz,ls-1)); etapa++; } if(ok==0 || etapa!=4) { cout<<"Incorect!\n"; } else { cout<<"Corect!\n"; } } }