#include<stdio.h>
#include<ctype.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),ind;
    for(ind=len-1;ind>=0;ind--) {
        char ch = str[ind];
        if(!isvalid(ch)) {
            printf("Invalid input");
            return;
        }
        if(isalnum(ch)) {
            char temp[2];
            temp[0] = ch;
            temp[1] = '\0';
            push(temp);
        }
        else if(isOperator(ch)) {
           char opd1[MAX], opd2[MAX], res[MAX];
           strcpy(opd1, pop());
           strcpy(opd2, pop());
           strcpy(res, opd1);
           strcat(res, opd2);
           int l = strlen(res);
           res[l] = ch;
           res[l+1] = '\0';
           push(res);
        }
    }
    printf("%s", stack[top]);
}
int main() {
    char str[MAX];
    scanf("%s",str);
    fun(str);
    return 0;
}