-----Problem-----
			Once THANMAY met PK who is from a different planet visiting earth. THANMAY was very fascinate to learn PK's language. The language contains only lowercase English letters and is based on a simple logic that only certain characters can follow a particular character.
			Now he is interested in calculating the number of possible words of length L and ending at a particular character C. Help THANMAY to calculate this value. 
-----Input-----
			The input begins with 26 lines, each containing 26 space-separated integers. The integers can be either 0 or 1. The jth integer at ith line depicts whether jth English alphabet can follow ith English alphabet or not.
			 Next line contains an integer T. T is the number of queries.
			 Next T lines contains a character C and an integer L.
-----Output-----
			For each query output the count of words of length L ending with the character C. Answer to each query must be followed by newline character.
			The answer may be very large so print it modulo 1000000007.
-----Constraints-----
- 
					1 ≤ T ≤ 100
- 
C is lowercase English alphabet.
- 
					2 ≤ L ≤ 10000000
-----Sample Input-----
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2
c 3
b 2
-----Sample Output-----
1
2
-----Explanation-----
			For query 1, Words of length 3 are: aba, acb, bab, bac, cba. The only word ending with 'c' is bac.
		 p { text-align:justify }
d = {}
for i in range(26):
 char = chr(i+ord('a'))
 d[char] = []
for i in range(26):
 char = chr(i+ord('a'))
 temp = list(map(int,input().split()))
 for j in range(26):
  if (temp[j] == 1):
   follow= chr(j+ord('a'))
   d[follow].append(char)
   
def f(char,i,n,count):
 if (i==n):
  return count+1
 else:
  ans = 0
  for c in d[char]:
   ans+=f(c,i+1,n,0)
  return ans

for q in range(int(input())):
 c, n = input().split()
 n = int(n)
 print(f(c,1,n,0))
d = {}
for i in range(26):
 char = chr(i+ord('a'))
 d[char] = []
for i in range(26):
 char = chr(i+ord('a'))
 temp = list(map(int,input().split()))
 for j in range(26):
  if (temp[j] == 1):
   follow= chr(j+ord('a'))
   d[follow].append(char)
   
def f(char,i,n,count):
 if (i==n):
  return count+1
 else:
  ans = 0
  for c in d[char]:
   ans+=f(c,i+1,n,0)
  return ans

for q in range(int(input())):
 c, n = input().split()
 n = int(n)
 print(f(c,1,n,0))