#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef _MSC_VER #include #endif #define FOR(i, a, b) for(int i = (a); i < (int)(b); ++i) #define rep(i, n) FOR(i, 0, n) #define ALL(v) v.begin(), v.end() #define REV(v) v.rbegin(), v.rend() #define MEMSET(v, s) memset(v, s, sizeof(v)) #define UNIQUE(v) (v).erase(unique(ALL(v)), (v).end()) #define MP make_pair #define MT make_tuple using namespace std; typedef long long ll; typedef pair P; const int mod = 1e6 + 3; ll mod_pow(ll x, int n){ ll res = 1; while (n){ if (n&1) res = res*x%mod; x = x*x%mod; n /= 2; } return res; } int main(){ cin.tie(0); ios::sync_with_stdio(false); ll x, n; cin >> x >> n; ll ans = 0; rep(i, n){ ll k; cin >> k; ans += mod_pow(x, k); } cout << ans%mod << endl; return 0; }