#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MAX 100

char stack[MAX];
int top = -1;

void push(char c){
    stack[++top]= c;
}

char pop() {
    return stack[top--];
}

char peek() {
    return stack[top];
}

int precedence(char op) {
    if (op == '+' || op == '-') return 1;
    if (op == '*' || op == '/') return 2;
    return 0;
}
int isoperator(char c){
    return c == '+' || c == '-' || c == '*' || c == '/';
}

void infixToPostfix(char* infix){
    char postfix[MAX];
    int j = 0;
    
    for (int i = 0; i < strlen(infix); i++) {
        char c = infix[i];
        if(c ==' ') continue;
        
        if (isalnum(c)){
            postfix[j++]=c;
        }
        else if (c =='(') {
            push(c);
        }
        else if (c == ')') {
            while (top != -1 && peek() !='('){
                postfix[j++] = pop();
            }
            if (top!= -1) pop();
        }
        else if (isoperator(c)){
            while (top != -1 && precedence(peek()) >= precedence(c)) {
                if (peek()=='(') break;
                postfix[j++] = pop();
            }
            push (c);
        }
    }
    while (top != -1){
        if (peek() != '(') {
            postfix[j++] = pop();
        } else {
            pop();
        }
    }
    
    postfix[j]= '\0';
    printf("%s", postfix);
    }
    int main(){
        char infix[MAX];
        scanf("%s", infix);
        infixTopostfix(infix);
        return 0;
}