CF677C Vanya and Label

Description

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 $ .

Input Format

The only line of the input contains a single word $ s $ ( $ 1

Output Format

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 $ .

Explanation/Hint

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 $