#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000009;
const long long Mod = 1e9 + 7;
char st[maxn];
int sum[maxn];
int getshuzi(char c) {
  if (c >= '0' && c <= '9')
    return c - '0' + 0;
  else if (c >= 'A' && c <= 'Z')
    return c - 'A' + 10;
  else if (c >= 'a' && c <= 'z')
    return c - 'a' + 36;
  else if (c == '-')
    return 62;
  else
    return 63;
}
int main() {
  while (scanf("%s", st) != EOF) {
    int len = strlen(st);
    for (int i = 0; i < 64; i++)
      for (int j = 0; j < 64; j++) sum[i & j]++;
    long long ans = 1;
    for (int i = 0; i < len; i++) ans = ((ans * sum[getshuzi(st[i])]) % Mod);
    printf("%d\n", ans);
  }
  return 0;
}
