数论
#include <bits/stdc++.h>
using namespace std;
const int MOD = 100003;
long long f(long long a, long long b) {
long long x = 1, y = a;
while (b >= 1) {
if (b % 2 == 1) {
x = x * y % MOD;
}
y = y * y % MOD;
b /= 2;
}
return x;
}
int main() {
long long n;
long long m;
cin >> m >> n;
cout << (f(m, n) - (m * f(m - 1, n - 1)) % MOD + MOD) % MOD;//所有可能性数量和两两相邻两个不同的数量相减,剩下的就是相邻两个相同的数量,而相邻两个不同计算方法为:第一个有`m`种选择,第二个人和第一个人不同,所以`m-1`种选择,第三个人和第二个人不同,但可以和第一个人相同,所以也有`m-1`种选择,以此类推,除第一个人外剩下`n-1`个人都有`m-1`种选择
return 0;
}