# -*- coding: utf-8 -*- # x N # a1 a2 … aN x, N = map(int, raw_input().split()) mod = 1000003 mods = {} powx2 = [x] k = 0 border = 1 while 100000000 >= border: powx2.append(powx2[k] ** 2 % mod) k += 1 border *= 2 a = map(int, raw_input().split()) def powx(a): totalmod = 1 for i in xrange(len(powx2)-1, -1, -1): b = 2 ** i if a >= b: totalmod *= powx2[i] a -= b return totalmod total = 0 for i in xrange(N): total += powx(a[i]) print total % 1000003