#include <bits/stdc++.h>
using namespace std;
long long make(char q) {
  if (q == '-')
    return 62;
  else if (q == '_')
    return 63;
  else if (q >= '0' && q <= '9')
    return q - '0';
  else if (q >= 'A' && q <= 'Z')
    return 10 + q - 'A';
  else if (q >= 'a' && q <= 'z')
    return 10 + 'z' - 'a' + 1 + q - 'a';
}
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  string s;
  cin >> s;
  long long n = s.length();
  long long dp[64] = {0};
  for (long long i = 0; i < 64; i++)
    for (long long j = 0; j < 64; j++) dp[i & j]++;
  long long ans = 1;
  for (long long i = 0; i < n; i++) {
    long long x = make(s[i]);
    ans *= dp[x];
    ans %= 1000000007;
  }
  ans %= 1000000007;
  cout << ans;
}
