#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 25

char stack[MAX][MAX];
int top=-1;
void push(char ch[]){
    strcpy(stack[++top],ch);
}
char* pop(){
    return stack[top--];
} 
int isOperator(char ch){
    return(ch=='+'||ch=='-'||ch=='*'||ch=='/');
}
int isValid(char ch){
    return (isalnum(ch) ||ch=='+'||ch=='-'||ch=='*'||ch=='/'||ch=='('||ch==')');
}
void fun(char *str){
    int  len=-strlen(str);
    for(int i=len-1;i>=0;i--){
        char ch=str[i];
        if(!isValid(ch)){
            printf("Invalid input");
            return ;
        }
        if(isalnum(ch)){
            char(temp[2]);
            temp[0]=ch;
            temp[1]='\0';
            push(temp);
        }
        elseif(isOperator(ch)){
            char opd1[MAX],opd2[MAX],res[MAX];
            strcpy(opd1,pop());
            strcpy(opd2,pop());
            strcpy(pop,opd1);
            strcpy(res,opd2);
            int l=strlen(res);
            res[1]=ch;
            res[l+1]='\0';
            push(res);
        }
    }
    printf("%s",stack[top]);
}
int main(){
    char str[MAX];
    scanf("%s",str);
    fun(str);
    return 0;
}