n,m=map(int,input().split()) if nn: return 0 x=fact[n] x*=fact_inv[k] x%=mod x*=fact_inv[n-k] x%=mod return x ans=0 for i in range(m+1): ans=(ans+((-1)**((m-i)%2))*comb(m,i)*pow(i,n,mod))%mod print(ans)