
#define bool _Bool

bool state0 = 0;
bool state1 = 0;
bool state2 = 0;

char case_in, new_case;

extern void _user();

void main() {

while(1) {
switch (case_in) {
 case 0:  {state1 = 0, state2 = 0; _user(0); continue;}
 case 1:  {state1 = 0, state2 = 1; _user(1); break;}
 case 2:  {state1 = 1, state2 = 0; _user(2); break;}
 case 3:  {state1 = 1, state2 = 1; _user(3); continue;}
 case 4:  {switch (new_case) {
              case 0: {state0 = 1; _user(4); continue;}
              case 1: {state2 = 0; _user(5); continue;}
              default:{state1 = 0; _user(6); break;}
            }
           _user(7); break;
          }
 default: {_user(8); continue;}
}
switch (new_case) {
 case 0:  {state0 = 1, state2 = 0; _user(9); break;}
 case 1:  {state0 = 0, state2 = 0; _user(10); continue;}
 case 2:  {state0 = 0, state2 = 1; _user(11); break;}
 case 3:  {state0 = 1, state2 = 1; _user(12); continue;}
 default: {state0 = 0; _user(13); break;}
}
}
}

