#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<bitset>
#include<math.h>
#include<vector>
#include<string>
#include<stdio.h>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=100000+10;
const int modul=1000000000+7;
char st[maxn];
int pan(int n)
{
int i;
int num=0;
for(i=0;i<=5;i++)
{
int x=n>>i;
if(!(x&1))
num++;
}
return num;
}
int tra(char a)
{
int n;
if(a>='0'&&a<='9')
{
n=a-'0';
}
else if(a>='A'&&a<='Z')
{
n=a-'A'+10;
}
else if(a>='a'&&a<='z')
{
n=a-'a'+36;
}
else if(a=='-')
{
n=62;
}
else if(a=='_')
{
n=63;
}
return pan(n);
}
int main()
{
int ans=0;
scanf("%s",&st);
int n=strlen(st);
int i;
__int64 j=1;
for(i=0;i<n;i++)
{
ans+=tra(st[i]);
}
for(i=0;i<ans;i++)
{
j=(j*3)%(modul);
}
printf("%I64d\n",j);
return 0;
}
Vanya and Label
最新推荐文章于 2020-06-30 10:47:15 发布