#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:64000000")
using namespace std;
const double pi = 3.1415926535897932384626433832795;
double eps = 1e-9;
char _buf[1 << 20];
inline string gs() {
  scanf("%s", _buf);
  return string(_buf);
}
inline string gl() {
  gets(_buf);
  return string(_buf);
}
inline int gi() {
  int a;
  scanf("%d", &a);
  return a;
}
void solve();
int main() {
  solve();
  return 0;
}
void solve() {
  string a = gs();
  string s;
  for (int i = (0), _b(((int)a.size())); i < _b; ++i) {
    switch (a[i]) {
      case '>':
        s += "1000";
        break;
      case '<':
        s += "1001";
        break;
      case '+':
        s += "1010";
        break;
      case '-':
        s += "1011";
        break;
      case '.':
        s += "1100";
        break;
      case ',':
        s += "1101";
        break;
      case '[':
        s += "1110";
        break;
      case ']':
        s += "1111";
        break;
    }
  }
  int two = 1;
  int l = 0;
  for (int i = (((int)s.size())) - 1, _b(0); i >= _b; --i) {
    if (s[i] == '1') {
      l = (l + two) % 1000003;
    }
    two = (two << 1) % 1000003;
  }
  printf("%d\n", l);
}
