#include <bits/stdc++.h>
using namespace std;
string s;
long long ans[2200], MOD = 1000003;
long long dp[2200][2200], inv[2200], fac[2200], ifac[2200];
void init_math(int N) {
  inv[1] = 1LL;
  for (int i = 2; i <= N; i++)
    inv[i] = (MOD - ((MOD / i) * inv[MOD % i]) % MOD);
  fac[0] = 1LL;
  ifac[0] = 1LL;
  for (int i = 1; i <= N; i++) {
    fac[i] = (fac[i - 1] * (long long)(i)) % MOD;
    ifac[i] = (ifac[i - 1] * inv[i]) % MOD;
  }
}
int st[2200], stc, r, len, ms, t[2200], tc;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  init_math(2000);
  cin >> s;
  len = s.size();
  ans[1] = 1;
  for (int i = 1; i <= 2000; i++)
    ans[i + 1] = inv[i + 1] * fac[i * 2] % MOD * ifac[i] % MOD * ifac[i] % MOD;
  tc = 0;
  bool isn = 0, ist;
  for (int i = 0; i < len; i++) {
    ist = 0;
    if (s[i] <= '9' && s[i] >= '0')
      isn = 1;
    else {
      if (isn) {
        t[tc++] = 0;
        isn = 0;
      }
      if (i == 0 || !(s[i - 1] <= '9' && s[i - 1] >= '0')) {
        if (s[i] == '*' || s[i] == '/') {
          cout << 0 << endl;
          return 0;
        }
        t[tc++] = 1;
      } else
        ist = 1;
    }
  }
  if (isn) t[tc++] = 0;
  if (t[tc - 1] == 1 || ist) {
    cout << 0 << endl;
    return 0;
  }
  stc = 0;
  for (int i = 0; i < tc; i++) {
    if (t[i] == 0)
      st[stc]++;
    else
      stc++;
  }
  if (stc == 0) {
    cout << ans[tc] << endl;
    return 0;
  }
  dp[stc + 1][0] = 1;
  for (int i = stc; i >= 0; i--) {
    r = st[i];
    if (i) {
      ms += r;
      for (int j = 1; j <= ms; j++)
        for (int k = max(r - j, 0); k <= ms - j; k++) {
          dp[i][k + 1] += (dp[i + 1][k + j - r] * ans[j]) % MOD;
          if (dp[i][k + 1] >= MOD) dp[i][k + 1] -= MOD;
        }
    } else {
      for (int j = 0; j <= ms; j++) {
        dp[i][j + r] += dp[i + 1][j];
        if (dp[i][j + r] >= MOD) dp[i][j + r] -= MOD;
      }
    }
  }
  long long res = 0;
  for (int i = 1; i <= tc; i++) {
    res += (dp[0][i] * ans[i]) % MOD;
    if (res >= MOD) res -= MOD;
  }
  cout << res << endl;
  return 0;
}
