#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#define MAX 30
void fun(char* str);
int stack[MAX][MAX];
int top=-1;

int isvalid(char ch){
    return (isalnum(ch) || ch=='*'|| ch=='/'||ch=='+'||ch=='-'||ch=='('||ch==')');
}
int isoperator(char ch){
    return (ch=='*'||ch=='-'||ch=='*'||ch=='/');
}

void fun(char* str){
    int len=strlen(str),ind;
    for(ind=len-1;ind>=0;ind--){
        char ch=str[ind];
        if(isvalid(ch)){
            printf("Invalid input");
            return 0;
        }
    }
if(isalnum(ch)){
   char temp[2];
   char temp[0]=ch;
   char temp[1]='\0';
   push(ch);
}
else if(isoperator(ch)){
    char opr1[MAX],opr2[MAX],res[MAX];
    strcpy(opr1,pop());
    strcpy(opr2,pop());
    strcpy(res,opr1);
    strcat(res,opr2);
    int l=strlen(res);
    res[l]=ch;
    res[l+1]='\0';
    push(res);
}
printf("%d",res);
}
char* push(char* ch){
     strcpy(stack[++top],ch);
    }
}

char* pop(){
       return stack[top--];
}

int main(){
    char str[MAX];
    scanf("%s",str);
    fun(str);
    return 0;
}