#include<cstdio> #include<vector> #include<cstring> #include<cmath> #include<queue> #include<set> #include<algorithm> #include<ctime> #include<cstdlib> using namespace std; int n1,n2,n3,n4,T,n,i,j,nr,a,b,ap[1009]; char sir[1009]; int main() { //freopen("input","r",stdin); //freopen("output","w",stdout); while(!feof(stdin)) { gets(sir+1); if(feof(stdin)) break; n=strlen(sir+1); for(i=1;i<=n;i++) ap[i]=0; n1=n2=n3=n4=0; for(i=1;i<n;i++) { if(sir[i]=='b'||sir[i]=='B') { if(sir[i+1]=='X'||sir[i+1]=='x') ap[i]=ap[i+1]=1,n1++; else if(sir[i+1]=='p'||sir[i+1]=='P') ap[i]=ap[i+1]=1,n2++; } else if(sir[i+1]=='i'||sir[i+1]=='I') { if(sir[i]=='s'||sir[i]=='S') ap[i]=ap[i+1]=1,n3++; else if(sir[i]=='D'||sir[i]=='d') ap[i]=ap[i+1]=1,n4++; } } for(i=1;i<=n;i++) if(ap[i]==0) { if(sir[i]>='0'&&sir[i]<='9') ; else if(sir[i]>='a'&&sir[i]<='z') ; else if(sir[i]=='['||sir[i]==']'||sir[i]=='+'||sir[i]=='-') ; else break; } if(i<=n) { printf("ERROR\n"); continue; } if(n1>1||n2>1||n3>1||n4>1||n1*n2>0||n3*n4>0) { printf("ERROR\n"); continue; } n1=0; for(i=1;i<=n;i++) if(ap[i]==0&&sir[i]>='a'&&sir[i]<='z') n1++; if(n1>1) { printf("ERROR\n"); continue; } for(i=1;i<n;i++) if(sir[i]==']'&&sir[i+1]!='['&&sir[i+1]!='-'&&sir[i+1]!='+') break; if(i<n) { printf("ERROR\n"); continue; } nr=0; for(i=1;i<=n;i++) if(sir[i]=='['||sir[i]==']') { if(sir[i]=='[') nr++; else nr--; if(nr<0) break; } if(i<=n||nr!=0) { printf("ERROR\n"); continue; } printf("OK\n"); } return 0; }