#include <bits/stdc++.h>
using namespace std;
inline void inpint(int &n) {
  n = 0;
  register int ch = getchar_unlocked();
  bool sign = 0;
  while (ch < 48 || ch > 57) {
    if (ch == '-') sign = 1;
    ch = getchar_unlocked();
  }
  while (ch >= 48 && ch <= 57) {
    n = (n << 3) + (n << 1) + ch - 48, ch = getchar_unlocked();
  }
  if (sign) n = -n;
}
inline int sqr(int x) { return x * x; }
inline int cube(int x) { return x * x * x; }
inline long long sqrLL(long long x) { return x * x; }
inline long long cubeLL(long long x) { return x * x * x; }
const long long LLINF = 9223372036854775807LL;
const long long LLINF17 = 100000000000000000LL;
const int INF = 2147483647;
const int INF9 = 1000000000;
const int MOD = 1000000007;
const double eps = 1e-7;
const double PI = acos(-1.0);
int dr[] = {1, 0, -1, 0, -1, 1, 1, -1};
int dc[] = {0, -1, 0, 1, 1, 1, -1, -1};
string s, str;
int main() {
  cin >> s;
  for (int(i) = (0); (i) < ((int)(s.length())); (i)++) {
    if (s[i] == '>')
      str += "1000";
    else if (s[i] == '<')
      str += "1001";
    else if (s[i] == '+')
      str += "1010";
    else if (s[i] == '-')
      str += "1011";
    else if (s[i] == '.')
      str += "1100";
    else if (s[i] == ',')
      str += "1101";
    else if (s[i] == '[')
      str += "1110";
    else
      str += "1111";
  }
  int cur = 0;
  int m = 1000003;
  for (int(i) = (0); (i) < ((int)(str.length())); (i)++) {
    cur *= 2;
    if (str[i] == '1') cur += 1;
    cur %= m;
  }
  cout << cur << endl;
  return 0;
}
