#include <bits/stdc++.h>
using namespace std;
int md = 1e6 + 3;
long long calc(int r) {
  if (!r) return 1;
  if (r & 1) return (2 * calc(r - 1)) % md;
  long long res = calc(r / 2) % md;
  return (res * res) % md;
}
string s;
char r[111];
map<char, string> hs;
int main() {
  hs['>'] = "1000";
  hs['<'] = "1001";
  hs['+'] = "1010";
  hs['-'] = "1011";
  hs['.'] = "1100";
  hs[','] = "1101";
  hs['['] = "1110";
  hs[']'] = "1111";
  scanf("%s", r);
  for (int i = 0; r[i]; ++i) s += hs[r[i]];
  int ans = 0, l = s.size() - 1;
  for (int i = 0; i <= l; ++i)
    if (s[i] == '1') ans = (calc(l - i) + ans) % md;
  printf("%d\n", ans);
  return 0;
}
