#include using namespace std; const int mod=666013; int fact[100010],d[100010]; int rid_put(int a,int n) { int p=1; for(int i=1;i<=n;i<<=1) { if(n&i) p=(1LL*p*a)%mod; a=(1LL*a*a)%mod; } return p; } int comb(int n,int m) { return (1LL*fact[n]*rid_put((1LL*fact[m]*fact[n-m])%mod,mod-2))%mod; } int main() { //freopen("file.in", "r", stdin); //freopen("file.out", "w", stdout); int n,m; scanf("%d%d",&n,&m); if(n=1;i--) { int a=(1LL*rid_put(i,n)*comb(m,m-i))%mod; if((m-i)%2) sol=(sol-a+mod)%mod; else sol=(sol+a)%mod; } sol=(1LL*sol*d[m])%mod; printf("%d\n",sol); return 0; }