#include<stdio.h>
#include<ctype.h>
#include<string.h>
#define max 100
char stack[max];
int top=-1;

int isOperator(char c){
  return(c=='+'||c=='-'||c=='*'||c=='/');
    
}
int precedence(char ch){
    if(ch=='+'||ch=='-')return 1;
    if(ch=='*'||ch=='/')return 2;
    return 0;
}

int main(){
    char infix[max], postfix[max]=" ";
    char op[max];
    int optop=-1;
    scanf("%s",infix);
    
    for(int i=0; infix[i]!=''\0';i++){
        char ch=infix[i];
        if(isalnum(ch)){
        char temp[2];
        temp[0]=ch;
        temp[1]='\0';
        stecat(postfix,temp);
        }
        else if(ch=='('')){
            op[++optop]=ch;
        }
        else if(ch==')'){
            while(!optop!=-1&&op[optop]!='('){
                char temp[2];
                temp[0]=op[optop--];
                temp[1]='\0';
                strcat(postfix,temp);
                
            }
            if(optop==-1){
                printf("Invalid input");
                return 0;
                
            }
            optop--;
            
        }
        else if(isOperator(ch)){
            while(optop!=-1 && precendene(op[optop])>=precedence(ch)){
                char temp[2];
                temp[0=op[optop--];
                temp[1]='\0';
                strcat(postfix,temp);
                
            }
            op[++optop]=ch;
        }
        else{
            printf("Invalid input");
            return 0;
        }
    }
    
    while(optop!=-1){
        if(op[optop]=='('){
            printf("Invalid input");
            return 0;
        }
    }    
    while(optop!=-1){
        if(op[optop]=='('){
            printf("Invald input");
            return 0;
        }
        char temp[2];
        temp[0]=op[optop--];
        temp[1]='\0';
        strcat(postfix,temp);
    }
        printf("%s",postfif);
        return 0;
}