{
  int a, b, n;

  // 終端まで繰り返す
  while (*s) {

    // 数値なら取り出してスタックに積む
    if (is_digit(s)) {
      n = get_number(s);
      push(n);
      while (*s == '-' || *s == '+') {
        s++;
      }
      while (n) {
        n /= 10;
        s++;
      }

      // オペランドなら2項を計算する
    } else {
      switch (*s) {
      case '+':
        a = pop();
        b = pop();
        push(b+a);
        break;
      case '-':
        a = pop();
        b = pop();
        push(b-a);
        break;
      case '*':
        a = pop();
        b = pop();
        push(b*a);
        break;
      case '/':
        a = pop();
        b = pop();
        if (a == 0) break;
        push(b/a);
        break;
      case '%':
        a = pop();
        b = pop();
        if (a == 0) break;
        push(b%a);
      }
      s++;
    }
  }
  return pop();
}

int main()
{
  char s[MAX_LEN];
  scanf("%[^\n]*s", s);
  printf("%d\n", calc_rpn(s));
}
