题目链接:​​传送门​

早做过的
我们用全部的方案数减去不越狱的方案数
全部的方案数就是BZOJ 1008: [HNOI2008]越狱_组合数学
BZOJ 1008: [HNOI2008]越狱_#define_02是宗教数BZOJ 1008: [HNOI2008]越狱_快速幂_03是房间数
保证不越狱的话
第一个房间的罪犯有BZOJ 1008: [HNOI2008]越狱_#define_02种宗教可以选择
剩下的BZOJ 1008: [HNOI2008]越狱_组合数学_05个房间都有BZOJ 1008: [HNOI2008]越狱_ios_06种宗教可以选择
方案数是BZOJ 1008: [HNOI2008]越狱_快速幂_07

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <complex>
#include <algorithm>
#include <climits>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <iomanip>
#define
#define

using namespace std;
typedef long long ll;
const int mod = 100003;
ll fpow(ll a, ll b, ll ans = 1) {
while (b) {
if (b & 1) ans = ans * a % mod;
a = a * a % mod;
b >>= 1;
}
return ans;
}
ll n, m;

int main(int argc, char const *argv[]) {
cin >> m >> n;
cout << (fpow(m, n) - m * fpow(m - 1, n - 1) % mod + mod) % mod;
}