本题采用了补集转化的思想
还有就是。。。。快。。。。速。。。。幂。。。。。
又想到了noip的故事。。。。
跟noip考场上写得完全一样,然后由于在测试的时候考场电脑出了点问题所以最后我不得不换了一种前一天晚上刚刚学的神方法然后就跪了。。。
算了不想了,省选一定虐回来
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#define read(x) scanf("%lld",&x)
#define ll long long
#define mod 100003
using namespace std;
ll n,m;
ll pow(ll a,ll b)
{
if(b==1)
return a;
if(!b)
return 1;
ll ans=1;
if(b%2)
ans=a;
return ans%mod*pow(a,b/2)*pow(a,b/2)%mod;
}
int main()
{
read(n);
read(m);
printf("%lld\n",(pow(n,m)-n%mod*pow(n-1,m-1)%mod+mod)%mod);
}