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;
const long long N = 2005;
const long long mo = 998244353;
inline long long read() {
  char ch = getchar();
  long long x = 0, f = 1;
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    x = (x << 3) + (x << 1) + ch - '0';
    ch = getchar();
  }
  return x * f;
}
long long ans, n, i, f, x;
char s[N];
signed main() {
  scanf("%s", s + 1);
  n = strlen(s + 1);
  for (i = 1, f = 1, x = 0; i <= n; i++) {
    if (s[i] == '+' || s[i] == '-')
      ans += f * x, x = 0, f = s[i] == '+' ? 1 : -1;
    x = x * 10 + s[i] - '0';
  }
  ans += f * x;
  printf("%lld", ans);
  return 0;
}