#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define MAX 100
char stack[MAX][MAX];
int top=-1;
int isOperator(char c){
    return(c == '+' || c == '-' || c == '*' || c == '/');
}
void push(char *s){
    if(top == MAX-1)
    return;
    ++top;
    strcpy(stack[top],s);
}
char* pop(){
    if(top == -1)return NULL;
    return stack[top--];
}
int main(void){
    char pre[MAX];
    if(!fgets(pre, sizeof(pre),stdin)) return 0;
    pre[strcspn(pre," ")]='';
    int n=strlen(pre);
    for(int i=n-1;i>=0;--i){
        char ch=pre[i];
        if(isspace((unsigned char)ch))
            continue;
        if(isalnum((unsigned char)ch)){
            char op[2]={ch,''};
            push(op);
        }
        else if(isOperator(ch)){
            char *op1=pop();
            char *op2=pop();
            if(!op1 || !op2){
                printf("Invalid input");
                return 0;
            }
            char temp[MAX];
            snprintf(temp, sizeof(temp),"%s%s%c",op1,op2,ch);
            push(temp);
        }
        else{
            printf("Invalid input");
            return 0;
        }
            
    }
    if(top != 0){
        printf("Invalid input");
        return 0;
    }
    printf("%s",stack[0]);
    return 0;
}