测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A10418. Vanya and Label

编程题 普及/提高-

题目描述

While walking down the street Vanya saw a label "Hide&Seek". Because he is a programmer, he used $&$ as a bitwise AND for these two words represented as a integers in base $64$ and got new word. Now Vanya thinks of some string $s$ and wants to know the number of pairs of words of length $|s|$ (length of $s$ ), such that their bitwise AND is equal to $s$ . As this number can be large, output it modulo $10^{9}+7$ .

To represent the string as a number in numeral system with base $64$ Vanya uses the following rules:

- digits from '0' to '9' correspond to integers from $0$ to $9$ ;
- letters from 'A' to 'Z' correspond to integers from $10$ to $35$ ;
- letters from 'a' to 'z' correspond to integers from $36$ to $61$ ;
- letter '-' correspond to integer $62$ ;
- letter '\_' correspond to integer $63$ .

输入格式

The only line of the input contains a single word $s$ ( $1<=|s|<=100000$ ), consisting of digits, lowercase and uppercase English letters, characters '-' and '\_'.

输出格式

Print a single integer — the number of possible pairs of words, such that their bitwise AND is equal to string $s$ modulo $10^{9}+7$ .

输入输出样例

输入 #1
z
输出 #1
3
输入 #2
V_V
输出 #2
9
输入 #3
Codeforces
输出 #3
130653412

说明/提示

For a detailed definition of bitwise AND we recommend to take a look in the corresponding article in Wikipedia.

In the first sample, there are $3$ possible solutions:

1. $z&_=61&63=61=z$
2. $_&z=63&61=61=z$
3. $z&z=61&61=61=z$
上一题 去做题 下一题