#include<stdio.h>
#include<string.h>
#include<ctype.h>
char s[100][100]; int top=-1;
void push(char *x){ strcpy(s[++top],x);}
char* pop(){ return s[top--];}
int isOp(char c){return c=='+'||c=='-'||c=='*'||c=='/'||c=='^';}
int main(){
    char pre[100];
    fgets(pre,100,stdin);
    pre[strcspn(pre,"\n")]=0;
    for(int i=strlen(pre)-1;i>=0;i--){
        if(isspace(pre[i])) continue;
        if(isalnum(pre[i])){char t[2]={pre[i],0}; push(t);}
        else if(isOp(pre[i])){
            if(top<1){ printf("Invalid input"); return 0; }
            char
            *a=pop(),*b=pop(),t[100];
            sprintf(t,"%s%s%c",a,b,pre[i]);
            push(t);
        }
        else { printf("Invalid input"); return 0; }
    }
    if(top!=0){
        printf("Invalid input");
        return 0;
    }
    printf("%s"s[top]);
}