// editor5
#include<stdio.h>
#include<ctype.h>
#include<string.h>
#define max 100
char stack[max];
int top=-1;
void push(char c){
    stack[++top]=c;
}
void pop(){
    return stack[top--];
}
void peek(){
    return stack[top];
}
int precedence(char c){
    if(c=='+' || c=='-')return 1;
    if(c=='*' || c=='/')return 2;
    return 0;
}
int isOperator(char c){
    return (c=='+'||c=='-'||c=='*'||c=='/');
}
int main(){
    char infix[max],postfix[max];
    int k=0,valid=1;
    scanf("%s",infix);
    for(int i=0;infix[i]!='\0';i++){
        char ch=infix[i];
        if(isalnum(ch)){
            postfix[k++]=ch;
        }
        else if(ch=='('){
            pus(ch);
        }
        else if(ch==')'){
            while(top!=-1&&peek()!='('){
                postfix[k++]=pop();
            }
            if(top==-1){
                valid=0;
                break;
            }
            pop();
        }
        else if(isOperator(ch)){
            while(top!=-1&&precedence(peek())>=precedence(ch)){
                postfix[k++]=pop();
            }
            push(ch);
        }
        else{
            valid=0;
            break;
        }
    }
    while(top!=-1){
        if(peek()=='('){
            valid=0;
            break;
        }
        postfix[k++]=pop();
    }
    postfix[k]='\0';
    if(!valid){
        printf("Invalid input");
    }else{
        printf("%s",postfix);
    }
    return 0;
}