# include<stdio.h>
# include<string.h>
# include<ctype.h>
char stack[100][100];
int top=-1;
void push(char str[i]){
    strcpy(stack[++top],str);
}
char* pop(){
    return stack[top--];
}
int isOperator(char ch) {
    return (ch=='+' || ch=='-' || ch=='*' || ch=='/' || ch=='^');
}
int main()
{
    char prefix[100];
    scanf("%s",prefix);
    int len=strlen(prefix);
    for (int i=len-1;i>=0;i++){
        char ch=prefix[i];
        if(isalnum(ch)){
            char op[2]={ch, '\0'};
            push(op);
        }
        else if(isOperator(ch)){
            if(top<1){
                printf("Invalid input");
                return 0;
            }
            char op1[100],op2[100],temp[100];
            strcpy(op1,pop());
            strcpy(op2,pop());
            sprintf(temp, "%s%s%c",op1,op2,ch);
            push(temp);
        }
        else {
            printf("Invalid input");
            return 0;
        }
    }
    if(top != 0){
        printf("Invalid input");
    } else {
        printf("%s",pop());
    }
    return 0;
}