天天看点

bzoj1008--越狱 组合数学

#include<cstdio>
using namespace std;

typedef long long ll;
const ll mod=100003;

inline ll mypow(ll a,ll b){
  
  ll sum=1;
  while(b){
    
    if(b&1) sum=(sum*a)%mod;
    a=(a*a)%mod;
    b>>=1;
  }
  return sum;
}

int main(){
  
  ll n,m;
  scanf("%lld%lld",&m,&n);
  printf("%lld",(mypow(m,n-1)-mypow(m-1,n-1)+mod)%mod*m%mod);
}