#pragma GCC optimize ("O3") #pragma GCC target ("avx") typedef long long ll; ll n; unsigned m; int a,b; int l; main(){ scanf("%lld%d",&n,&m); a=2; b=2; l=0; for(;;){ a=(ll)a*(a+4)%m; ++l; if(a==2)break; } n%=l; for(;n--;){ a=(ll)a*(a+4)%m; } printf("%d",a); }