#include <iostream>
#include <sstream>
#include <iterator>
#include <vector>
#include <string>
#include <stack>
#include <map>
#include <functional>
using namespace std;
int compute(int a, int b, string op)
{
static map<string,function<int(int,int)> > operations;
operations["+"] = plus<int>();
operations["-"] = minus<int>();
operations["*"] = multiplies<int>();
operations["/"] = divides<int>();
return operations[op](b,a);
}
int evalRPN(vector<string>& tokens)
{
int n = tokens.size();
if (n == 0)
return 0;
stack<int> S;
int a, b;
for (int i = 0; i < n; i++)
{
string operators = "+-*/";
string tmp = tokens[i];
if (operators.find(tmp) != string::npos) // <== [1]
{
a = S.top(); S.pop();
b = S.top(); S.pop();
S.push(compute(a, b, tmp));
}
else
{
S.push(stoi(tmp));
}
}
return S.top();
}
int main() {
vector<string> input;
string tmp;
getline(cin,tmp);
istringstream istst(tmp);
copy(istream_iterator<string>(istst),
istream_iterator<string>(),
back_inserter(input));
cout << evalRPN(input);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGl0ZXJhdG9yPgoKI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHN0YWNrPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgY29tcHV0ZShpbnQgYSwgaW50IGIsIHN0cmluZyBvcCkKewoJc3RhdGljIG1hcDxzdHJpbmcsZnVuY3Rpb248aW50KGludCxpbnQpPiA+ICBvcGVyYXRpb25zOwoJb3BlcmF0aW9uc1siKyJdID0gcGx1czxpbnQ+KCk7CglvcGVyYXRpb25zWyItIl0gPSBtaW51czxpbnQ+KCk7CglvcGVyYXRpb25zWyIqIl0gPSBtdWx0aXBsaWVzPGludD4oKTsKCW9wZXJhdGlvbnNbIi8iXSA9IGRpdmlkZXM8aW50PigpOwoJCglyZXR1cm4gb3BlcmF0aW9uc1tvcF0oYixhKTsKfQoKaW50IGV2YWxSUE4odmVjdG9yPHN0cmluZz4mIHRva2VucykgCnsKICAgIGludCBuID0gdG9rZW5zLnNpemUoKTsKICAgIGlmIChuID09IDApCiAgICAgICAgcmV0dXJuIDA7CiAgICBzdGFjazxpbnQ+IFM7CiAgICBpbnQgYSwgYjsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgCXN0cmluZyBvcGVyYXRvcnMgPSAiKy0qLyI7CiAgICAgICAgc3RyaW5nIHRtcCA9IHRva2Vuc1tpXTsKICAgICAgICBpZiAob3BlcmF0b3JzLmZpbmQodG1wKSAhPSBzdHJpbmc6Om5wb3MpIC8vIDw9PSBbMV0KICAgICAgICB7CiAgICAgICAgICAgIGEgPSBTLnRvcCgpOyBTLnBvcCgpOwogICAgICAgICAgICBiID0gUy50b3AoKTsgUy5wb3AoKTsKICAgICAgICAgICAgUy5wdXNoKGNvbXB1dGUoYSwgYiwgdG1wKSk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIFMucHVzaChzdG9pKHRtcCkpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBTLnRvcCgpOwp9CgppbnQgbWFpbigpIHsKCXZlY3RvcjxzdHJpbmc+IGlucHV0OwoJc3RyaW5nIHRtcDsKCWdldGxpbmUoY2luLHRtcCk7Cglpc3RyaW5nc3RyZWFtIGlzdHN0KHRtcCk7CgkKCWNvcHkoaXN0cmVhbV9pdGVyYXRvcjxzdHJpbmc+KGlzdHN0KSwKICAgICBpc3RyZWFtX2l0ZXJhdG9yPHN0cmluZz4oKSwKICAgICBiYWNrX2luc2VydGVyKGlucHV0KSk7CiAgICAgCgljb3V0IDw8IGV2YWxSUE4oaW5wdXQpOwoJcmV0dXJuIDA7Cn0=