#include #define FOR(i, l, r) for(int i = (l) ; i < (r); i++) #define REV(i, l, r) for(int i = (r) - 1; i >= (l); i--) #define INC0(i, n) FOR(i, 0, n) #define INC1(i, n) FOR(i, 1, (n) + 1) #define DEC0(i, n) REV(i, 0, n) #define DEC1(i, n) REV(i, 1, (n) + 1) typedef long long signed int LL; typedef long long unsigned int LU; int x, n, a[100]; LL mod = 1000003, ex[31]; int main() { scanf("%d%d", &x, &n); INC0(i, n) { scanf("%d", &a[i]); } ex[0] = x; INC0(i, 30) { ex[i + 1] = (ex[i] * ex[i] % mod); } LL ans = 0; INC0(i, n) { LL e = 1; INC0(j, 31) { if(a[i] & (1 << j)) { (e *= ex[j]) %= mod; } } (ans += e) %= mod; } printf("%lld\n", ans); return 0; }