#include <stdio.h>
    int main(void) {
      int i=0;
      int j=0;
      int acc = 0;
      int pzf = 1;
	  int zf =1;
      int pz_prev=0;
      int z_prev=0;
	  int prev=0;
      
	  char str_arr[100] ="}>>^>+.~<+.~<<^>-<~{";
	 	 	 
      int data_arr[10]={0}; 
      data_arr[0]=5; 
      data_arr[1]=1;
	  data_arr[2]=1;
     
    while ( str_arr[i] != '\0') {
    	if(str_arr[i]==',') 
    	   scanf("%d", &acc);	
        if(str_arr[i]=='+') 
           acc=acc+data_arr[j];
    	if(str_arr[i]=='-') 
    	   acc=acc-data_arr[j];
        if(str_arr[i]=='>') 
           j++;
    	if(str_arr[i]=='<') 
    	   j--;
    	if(str_arr[i]=='~') 
    	  data_arr[j]=acc;
    	if(str_arr[i]=='^') 
    	  acc=data_arr[j];
    	if(str_arr[i]=='.') {
    		printf("Output: %d",acc); 
    		printf(" ");
    		};
    	if (str_arr[i]=='}') 
    	  pz_prev=1;
	    if (str_arr[i]==')') 
    	  z_prev=1;   
	    if (str_arr[i]=='!') 
    	  prev=1;   
        // безусловный переход
		if (str_arr[i]=='?' && prev==0) {
    	while(str_arr[i] != '!') 
    	   i++;  
    	   } 
       if (str_arr[i]=='?' && prev==1) {
    	while(str_arr[i] != '!') 
    	  i--; 	 
       	  } 
		// переход по условию acc=0 
		if (str_arr[i]=='(' && zf==1 && z_prev==0) {
    	while(str_arr[i] != ')') 
    	   i++;  
    	   } 
       if (str_arr[i]=='(' && zf==1 && z_prev==1) {
    	while(str_arr[i] != ')') 
    	  i--; 	 
       	  } 
        // переход по условию acc>=0 
    	if (str_arr[i]=='{' && pzf==1 && pz_prev==0) {
    	while(str_arr[i] != '}') 
    	   i++;  
    	   } 
       if (str_arr[i]=='{' && pzf==1 && pz_prev==1) {
    	while(str_arr[i] != '}') 
    	  i--; 	 
       	  }
        // флаги		  
         if(acc>=0){
         	 pzf=1;}
        else {
        	  pzf=0;}	
		if(acc==0){
         	 zf=1;}
        else {
        	  zf=0;}		  
     
    	//printf("i=%d",i);printf(" ");
    	i++;   
      }
      printf("\n");
      for (int k = 0; k<10; k++)
        printf("%d ", data_arr[k]);
      return 0;
    }