A,B = map(int, input().split()) N = int(input()) MOD = 10**9+7 def exp(mat_a, mat_b): new_mat = [[0]*len(mat_a) for _ in range(len(mat_a))] for i in range(len(mat_a)): for j in range(len(mat_a)): new_mat[i][j] = sum(mat_a[i][w]*mat_b[w][j] % MOD for w in range(len(mat_a))) % MOD return new_mat for _ in range(N): T = int(input()) MAP = [[A,B],[1,0]] ANS = [[1,0],[0,1]] K = T//2 while K: if K & 1: ANS = exp(ANS, MAP) MAP = exp(MAP, MAP) K //= 2 if T%2==1: print((sum(ANS[0])*(A+1)+sum(ANS[1])*(B+1))%MOD) else: print((sum(ANS[0])+sum(ANS[1]))%MOD)