ll@N,@M,@B,@A[N],n=1;rep[A](a,N){ll p=1,q=M%B;while(a)a&1?p=p*q%B:p,q=q*q%B,a/=2;n=n*(1+p)%B;}wt(n);