""" a_1 = 0 a_2 = 1 a_3 = p a_4 = p^2 + 1 a_5 = p^3 + 2p a_6 = p^4 + 3p^2 + 1 q_4 = 1 q_5 = 2p q_6 = 3p^2 + 2 q_7 = 4p^3 + 6p a_1 = 0 q_5 = a_2 * a_3 + a_3 * a_2 q_6 = a_2 * a_4 + a_3 * a_3 + a_4 * a_2 = a_2 * (p * a_3 + a_2) + a_3 * (p * a_2 + a_1) + a_4 * a_2 = a_2 * a_2 + a_3 * a_1 + p * (a_2 * a_3 + a_3 * a_2) + a_4 * a_2 = q_4 + p * q_5 + a_4 * a_2 q_i = q_{i - 2} + p * q_{i - 1} + a_{i - 2} * a_{2} """ MOD = 10 ** 9 + 7 p = int(input()) Q = int(input()) Q = [int(input()) for _ in range(Q)] n = max(Q) + 1 A = [0, 0, 1] for _ in range(n - 2): x = p * A[-1] + A[-2] A.append(x % MOD) q = [0, 0, 0, 0] for i in range(4, n): x = q[i - 2] + p * q[i - 1] + A[i - 2] * A[2] q.append(x % MOD) print(*[q[x] for x in Q], sep="\n")