#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-9;
const int inf = INT_MAX;
const int N = 100004;
const long long modn = 1000000007;
char s[N];
long long ans[100];
int get(char c) {
  if (c >= '0' && c <= '9') return c - '0';
  if (c >= 'A' && c <= 'Z') return c - 'A' + 10;
  if (c >= 'a' && c <= 'z') return c - 'a' + 36;
  if (c == '-') return 62;
  return 63;
}
int main() {
  for (int i = 0; i < 64; i++) {
    for (int k = 0; k < 64; k++)
      for (int j = 0; j < 64; j++)
        if ((k & j) == i) ans[i]++;
  }
  scanf(" %s", s);
  long long res = 1;
  for (int i = 0; s[i]; i++) {
    res *= ans[get(s[i])];
    res %= modn;
  }
  cout << res << endl;
}
