#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';
            strcat(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("Inavalid input");
             return 0;
         }
         optop--;
    }
    else if(isOperator(ch)){
        while(optop!=-1&&precedence(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;
        }
         char temp[2];
             temp[0]=op[optop--];
             temp[1]='\0';
             strcat(postfix,temp);
    }
    printf("%s",postfix);
    return 0;
}