#include <iostream>
#include <stack>
using namespace std;
int pos;
int compute(string & data)
{
int len = data.length();
int num = 0;
char flag = '+';
stack<int> st;
while (pos < len) {
if (data[pos] == '{' || data[pos] == '[' || data[pos] == '(') {
pos++;
num = compute(data);
}
while (pos < len && isdigit(data[pos])) {
num = num * 10 + data[pos] -'0';
pos++;
}
switch (flag) {
case '+':
st.push(num);
break;
case '-':
st.push(-num);
break;
case '*':
{
int temp = st.top();
temp *= num;
st.pop();
st.push(temp);
break;
}
case '/':
{
int temp = st.top();
temp /= num;
st.pop();
st.push(temp);
break;
}
}
num = 0;
flag = data[pos];
if (data[pos] == '}' || data[pos] == ']'|| data[pos] == ')') {
pos++;
break;
}
pos++;
}
int sum = 0;
while (st.size()) {
sum += st.top();
st.pop();
}
return sum;
}
int main()
{
string data;
while (cin >> data) {
pos = 0;
cout << compute(data) << endl;
}
return 0;
}