#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <fstream>
#include <stdlib.h>
#define rep( i, l, r ) for (int i = l; i <= r; i++)
#define down( i, l, r ) for (int i = l; i >= r; i--)
using namespace std;
long long n, m, ans;
long long qpow(long long a, long long b)
{
long long c = 1;
if (b / 2 != 0)
{
long long d = qpow(a, b / 2);
c = (c * d * d) % 100003;
}
if (b % 2 != 0) c = (c * a) % 100003;
return c;
}
int main()
{
scanf("%lld%lld", &m, &n);
ans = qpow(m, n) - (qpow(m-1, n-1)*m) % 100003;
while (ans < 0) ans += 100003;
printf("%lld", ans);
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKI2RlZmluZSByZXAoIGksIGwsIHIgKSBmb3IgKGludCBpID0gbDsgaSA8PSByOyBpKyspCiNkZWZpbmUgZG93biggaSwgbCwgciApIGZvciAoaW50IGkgPSBsOyBpID49IHI7IGktLSkKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpsb25nIGxvbmcgbiwgbSwgYW5zOwoKbG9uZyBsb25nIHFwb3cobG9uZyBsb25nIGEsIGxvbmcgbG9uZyBiKQp7Cglsb25nIGxvbmcgYyA9IDE7CglpZiAoYiAvIDIgIT0gMCkgCgl7CgkJbG9uZyBsb25nIGQgPSBxcG93KGEsIGIgLyAyKTsKCQljID0gKGMgKiBkICogZCkgJSAxMDAwMDM7Cgl9CglpZiAoYiAlIDIgIT0gMCkgYyA9IChjICogYSkgJSAxMDAwMDM7CglyZXR1cm4gYzsKfQoKaW50IG1haW4oKQp7CglzY2FuZigiJWxsZCVsbGQiLCAmbSwgJm4pOwoJYW5zID0gcXBvdyhtLCBuKSAtIChxcG93KG0tMSwgbi0xKSptKSAlIDEwMDAwMzsKCXdoaWxlIChhbnMgPCAwKSBhbnMgKz0gMTAwMDAzOwoJcHJpbnRmKCIlbGxkIiwgYW5zKTsKCXJldHVybiAwOwp9Cg==