Problem: One very experienced problem writer decided to prepare a problem for April Fools Day contest. The task was very simple - given an arithmetic expression, return the result of evaluating this expression. However, looks like there is a bug in the reference solution...

Input

The only line of input data contains the arithmetic expression. The expression will contain between 2 and 10 operands, separated with arithmetic signs plus and/or minus. Each operand will be an integer between 0 and 255, inclusive.

Output

Reproduce the output of the reference solution, including the bug.

Examples

Input

8-7+6-5+4-3+2-1-0


Output

4


Input

2+2


Output

-46


Input

112-37


Output

375

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
long calc(long a, long op, long b) {
  if (op == '+') {
    long sub = -50, bb = b;
    while (bb >= 10) {
      sub *= 10;
      bb /= 10;
    }
    return a + b + sub;
  }
  if (op == '-') {
    long add = 30, bb = b;
    while (bb >= 10) {
      add *= 10;
      bb /= 10;
    }
    return a - b + add;
  }
}
int main(void) {
  string s;
  cin >> s;
  long numprev = -1, numnow = 0;
  long op = 0;
  for (const auto &ch : s) {
    if ('0' <= ch && ch <= '9') {
      numnow = numnow * 10 + ch - '0';
    } else if (ch == '+') {
      if (op)
        numprev = calc(numprev, op, numnow);
      else
        numprev = numnow;
      op = '+';
      numnow = 0;
    } else if (ch == '-') {
      if (op)
        numprev = calc(numprev, op, numnow);
      else
        numprev = numnow;
      op = '-';
      numnow = 0;
    }
  }
  if (op)
    numprev = calc(numprev, op, numnow);
  else
    numprev = numnow;
  op = '-';
  numnow = 0;
  cout << numprev << endl;
}