#include <cstdio>
typedef long long ll;
const int MOD = 100003;
ll n, m;
ll quick_pow(ll a, ll b) {//非递归写法
if (b == 0) {
return 1;
}
ll ans = 1;
while (b > 0) {
if (b & 1) {
ans = ans * a % MOD;
}
a = a * a % MOD;
b >>= 1;
}
return ans;
}
ll quick_pow1(ll a, ll b) {//递归写法
if (b == 0) {
return 1;
}
ll ans = quick_pow1(a, b / 2) % MOD;
ans = ans * ans % MOD;
if (b & 1) {
return ans * a % MOD;
} else {
return ans;
}
}
int main() {
scanf("%lld %lld", &m, &n);
printf("%lld", quick_pow1(m, n));
return 0;
}
网友评论