#include <iostream>
#include <stack>
using namespace std;

int main() {
    string str;
    getline(cin, str);
    stack<int> sk1;//数字
    stack<int> sk2;//运算符
    sk2.push('(');
    str += ')';
    bool flag = true;
    for (int i = 0; i < str.size(); ++i) {
        char c = str[i];
        if (c == '(' || c == '[' || c == '{') {
            sk2.push('(');
            flag = false;
            continue;
        } else if (c == ')' || c == ']' || c == '}') {
            while (sk2.top() != '(') {
                int num1 = sk1.top();
                sk1.pop();
                int num2 = sk1.top();
                sk1.pop();
                char op = sk2.top();
                sk2.pop();
                if (op == '+') sk1.push(num1 + num2);
                else if (op == '-') sk1.push(num2 - num1);
                else if (op == '*') sk1.push(num1 * num2);
                else if (op == '/') sk1.push(num2 / num1);
            }
            sk2.pop();
        } else if (isdigit(c)) {
            int pos = i;
            while (isdigit(str[i + 1])) ++i;
            string tmp = str.substr(pos, i - pos + 1);
            sk1.push(stoi(tmp));
            flag = true;
        } else {
            if (!flag) {
                int pos = i;
                while (isdigit(str[i + 1])) ++i;
                string tmp = str.substr(pos, i - pos + 1);
                sk1.push(stoi(tmp));
                flag = true;
                continue;
            }
            while (true) {
                char op_top = sk2.top();
                if (op_top == '(' || (op_top == '+' || op_top == '-') && (c == '*' ||
                        c == '/')) {
                    sk2.push(c);
                    break;
                } else if (op_top == '+' && (c == '+' || c == '-') || op_top == '-' &&
                           (c == '+' || c == '-')) {
                    sk2.pop();
                    int num1 = sk1.top();
                    sk1.pop();
                    int num2 = sk1.top();
                    sk1.pop();
                    if (op_top == '+') sk1.push(num1 + num2);
                    else if (op_top == '-') sk1.push(num2 - num1);
                } else {
                    sk2.pop();
                    int num1 = sk1.top();
                    sk1.pop();
                    int num2 = sk1.top();
                    sk1.pop();
                    if (op_top == '*') sk1.push(num1 * num2);
                    else if (op_top == '/') sk1.push(num2 / num1);
                }
            }
        }

    }
    cout << sk1.top() << endl;

    return 0;
}
// 64 位输出请用 printf("%lld")