from sys import set_int_max_str_digits set_int_max_str_digits(0) M = 998 mx = 10**100000 def main(): t = int(input()) assert(1 <= t <= 50) ac = 0 for _ in range(t): solve() def solve(): n, ti = map(int, input().split()) assert(0 <= n < 998) assert(1 <= ti <= 1000) dist = [[-1 for _ in range(M)]for _ in range(M)] dist[1][1] = c = 0 u = v = 1 s = [(1, 1)] while True: u = u*n%M v = (u+v)%M c += 1 if dist[u][v] >= 0: break dist[u][v] = c s.append((u, v)) f = dist[u][v] num = 0 for _ in range(ti): b = input() num += len(b) k = int(b) assert(0 <= k < mx) if k < f: print(s[k][1]) else: print(s[(k - f) % (c - f) + f][1]) assert(num <= 100000) if __name__ == '__main__': main()