x, N = map(int, input().split()) As = list(map(int, input().split())) def solve(x, N, As): mod = 10**6 + 3 dp = [1] maxA = max(As) val = x while maxA: dp.append(val) val *= val val %= mod maxA >>= 1 ans = 0 for a in As: val = 1 i = 0 while a: i += 1 if a & 1: val *= dp[i] val %= mod a >>= 1 ans += val return ans % mod print(solve(x, N, As))