#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  for (int i = 0; i < s.length(); i++) {
    int n = s.length();
    if (s[i] == '>') {
      string p = s.substr(0, i) + "1000" + s.substr(i + 1, n - i - 1);
      s = p;
      i += 3;
    } else if (s[i] == '<') {
      string p = s.substr(0, i) + "1001" + s.substr(i + 1, n - i - 1);
      s = p;
      i += 3;
    } else if (s[i] == '+') {
      string p = s.substr(0, i) + "1010" + s.substr(i + 1, n - i - 1);
      s = p;
      i += 3;
    } else if (s[i] == '-') {
      string p = s.substr(0, i) + "1011" + s.substr(i + 1, n - i - 1);
      s = p;
      i += 3;
    } else if (s[i] == '.') {
      string p = s.substr(0, i) + "1100" + s.substr(i + 1, n - i - 1);
      s = p;
      i += 3;
    } else if (s[i] == ',') {
      string p = s.substr(0, i) + "1101" + s.substr(i + 1, n - i - 1);
      s = p;
      i += 3;
    } else if (s[i] == '[') {
      string p = s.substr(0, i) + "1110" + s.substr(i + 1, n - i - 1);
      s = p;
      i += 3;
    } else if (s[i] == ']') {
      string p = s.substr(0, i) + "1111" + s.substr(i + 1, n - i - 1);
      s = p;
      i += 3;
    }
  }
  int ans = 0;
  for (int i = 0; i < s.length(); i++) {
    ans = ((ans * 2) % 1000003 + (s[i] - '0')) % 1000003;
  }
  ans = ans % 1000003;
  cout << ans << endl;
  return 0;
}
