公式题
答案是 nm−1∗mn−1
快速幂的过程中会爆long long,所以还要打快速乘
#include
#include
#include
using namespace std;
typedef long long ll;
ll n,m,p;
inline ll mul(ll x,ll y,ll p){
if(x0;
while(y){
if(y&1) r=(r+x)%p;
x=(x+x)%p;
y>>=1;
}
return r;
}
inline ll pow(ll x,ll y,ll p){
x%=p; ll r=1;
while(y){
if(y&1) r=mul(r,x,p);
x=mul(x,x,p);
y>>=1;
}
return r;
}
int main(){
cin>>n>>m>>p;
printf("%lld\n",mul(pow(n,m-1,p),pow(m,n-1,p),p));
return 0;
}