#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const constexpr int INF = 1e9; long long x, N; int graph[51][51]; string s; struct Node{ int from, to, cost; }; long long a[100001]; long long modpow(long long a, long long n){ long long res=1; while(n>0){ if(n & 1) res = res*a%1000003; a = a*a%1000003; n >>= 1; } return res; } void solve(){ long long ans=0; for(int i=0; i> a; ans = (ans + modpow(x, a))%1000003; } cout << ans << endl; } int main() { cin >> x >> N; solve(); return 0; }