#include <iostream>
#include <cstring>
using namespace std;
template<class T>
class Stack
{
private:
T *s;
int N;
public:
Stack(int maxn)
{
s = new T[maxn];
N = 0;
}
int empty()const
{
return N == 0;
}
void push(T k)
{
s[N++] = k;
}
T pop()
{
return s[--N];
}
};
int main()
{
//postfix evaluation
const char *a = "3 4 5*+";
int N = strlen(a);
Stack<int>save(N);
for (int i = 0; i < N; i++)
{
if (a[i]=='+')
save.push(save.pop() + save.pop());
if (a[i]=='*')
save.push(save.pop() * save.pop());
if (a[i] >= '0' && a[i] <= '9')
{
save.push(0);
while (a[i] >= '0' && a[i] <= '9')
save.push(10 * save.pop() + a[i++] - '0');
i--;
}
}
cout << save.pop() << " " << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZTxjbGFzcyBUPgpjbGFzcyBTdGFjawp7CnByaXZhdGU6CiAgICBUICpzOwogICAgaW50IE47CgpwdWJsaWM6CiAgICBTdGFjayhpbnQgbWF4bikKICAgIHsKICAgICAgICBzID0gbmV3IFRbbWF4bl07CiAgICAgICAgTiA9IDA7CiAgICB9CiAgICBpbnQgZW1wdHkoKWNvbnN0CiAgICB7CiAgICAgICAgcmV0dXJuIE4gPT0gMDsKICAgIH0KICAgIHZvaWQgcHVzaChUIGspCiAgICB7CiAgICAgICAgc1tOKytdID0gazsKICAgIH0KICAgIFQgcG9wKCkKICAgIHsKICAgICAgICByZXR1cm4gc1stLU5dOwogICAgfQp9OwoKaW50IG1haW4oKQp7CiAgICAvL3Bvc3RmaXggZXZhbHVhdGlvbgogICAgY29uc3QgY2hhciAqYSA9ICIzIDQgNSorIjsKICAgIGludCBOID0gc3RybGVuKGEpOwoKICAgIFN0YWNrPGludD5zYXZlKE4pOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQogICAgewogICAgICAgIGlmIChhW2ldPT0nKycpCiAgICAgICAgICAgIHNhdmUucHVzaChzYXZlLnBvcCgpICsgc2F2ZS5wb3AoKSk7CgogICAgICAgIGlmIChhW2ldPT0nKicpCiAgICAgICAgICAgIHNhdmUucHVzaChzYXZlLnBvcCgpICogc2F2ZS5wb3AoKSk7CgogICAgICAgIGlmIChhW2ldID49ICcwJyAmJiBhW2ldIDw9ICc5JykKICAgICAgICB7CiAgICAgICAgICAgIHNhdmUucHVzaCgwKTsKICAgICAgICAgICAgd2hpbGUgKGFbaV0gPj0gJzAnICYmIGFbaV0gPD0gJzknKQogICAgICAgICAgICAgICAgc2F2ZS5wdXNoKDEwICogc2F2ZS5wb3AoKSArIGFbaSsrXSAtICcwJyk7CiAgICAgICAgICAgIGktLTsKICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCBzYXZlLnBvcCgpIDw8ICIgICIgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQo=