#include <bits/stdc++.h>
int main() {
  char c[1000];
  char s1[5] = "1000";
  char s2[5] = "1001";
  char s3[5] = "1010";
  char s4[5] = "1011";
  char s5[5] = "1100";
  char s6[5] = "1101";
  char s7[5] = "1110";
  char s8[5] = "1111";
  while (~scanf("%s", c)) {
    int len = strlen(c), fff;
    char s[10000];
    memset(s, '\0', sizeof(s));
    for (int i = 0; i < len; i++) {
      if (c[i] == '>') {
        strcat(s, s1);
      } else if (c[i] == '<') {
        strcat(s, s2);
      } else if (c[i] == '+') {
        strcat(s, s3);
      } else if (c[i] == '-') {
        strcat(s, s4);
      } else if (c[i] == '.') {
        strcat(s, s5);
      } else if (c[i] == ',') {
        strcat(s, s6);
      } else if (c[i] == '[') {
        strcat(s, s7);
      } else if (c[i] == ']') {
        strcat(s, s8);
      }
    }
    int slen = len * 4;
    long long sum = 0;
    long long k = 1;
    for (int i = slen - 1; i >= 0; i--) {
      sum += (s[i] - '0') * k;
      k *= 2;
      k %= 1000003;
    }
    printf("%lld\n", sum % 1000003);
  }
  return 0;
}
