#include #include using namespace std; char a[105]; int n,i,b,s,l,cnt,plm; int main() { //freopen("test.in","r",stdin); //freopen("test.out","w",stdout); while(fgets(a+1,105,stdin)) { n=strlen(a+1)-1; a[0]='['; a[n+1]=']'; b=0;s=0;l=0;cnt=0; for(i=1;i<=n;i++) { if(a[i]=='B' || a[i]=='b') { //if(a[i-1]!='[' && a[i-1]!='+' && a[i-1]!='-') {printf("ERROR\n"); break;} if(a[i+1]=='X' || a[i+1]=='x' || a[i+1]=='P' || a[i+1]=='p') { if(!b) {b=1; i++;} else {printf("ERROR\n"); break;} } else { if(a[i]=='b') { if(!l) l=1; else {printf("ERROR\n"); break;} } else {printf("ERROR\n"); break;} } } else if(a[i]=='S' || a[i]=='s' || a[i]=='D' || a[i]=='d') { //if(a[i-1]!='[' && a[i-1]!='+' && a[i-1]!='-') {printf("ERROR\n"); break;} if(a[i+1]=='I' || a[i+1]=='i') { if(!s) {s=1; i++;} else {printf("ERROR\n"); break;} } else { if(a[i]=='s' || a[i]=='d') { if(!l) l=1; else {printf("ERROR\n"); break;} } else {printf("ERROR\n"); break;} } } else if(a[i]>='a' && a[i]<='z') { //if(a[i-1]!='[' && a[i-1]!='+' && a[i-1]!='-') {printf("ERROR\n"); break;} if(!l) l=1; else {printf("ERROR\n"); break;} } else if(a[i]>='0' && a[i]<='9') { //if(a[i-1]!='[' && a[i-1]!='+' && a[i-1]!='-') {printf("ERROR\n"); break;} } else if(a[i]=='+' || a[i]=='-') { if(a[i-1]=='[' || a[i+1]==']') {printf("ERROR\n"); break;} } else if(a[i]=='[') { cnt++; } else if(a[i]==']') { if(a[i-1]=='[') {printf("ERROR\n"); break;} if(cnt) cnt--; else {printf("ERROR\n"); break;} } else {printf("ERROR\n"); break;} } if(i==n+1) { if(cnt==0) printf("OK\n"); else printf("ERROR\n"); } } return 0; }