#include<bits/stdc++.h> using namespace std; #define int long long #define N 2010 int mo,n,t; int qp(int x,int y){ int r=1; for(;y;y>>=1,x=x*x%mo) if(y&1)r=r*x%mo; return r; } void ln(int *a,int *b,int n){ for(int i=0;i<n;i++){ b[i]=a[i+1]*(i+1)%mo; for(int j=0;j<i;j++) b[i]=(mo-a[i-j]*b[j]%mo+b[i])%mo; } for(int i=n;i;i--) b[i]=qp(i,mo-2)*b[i-1]%mo; b[0]=0; } void exp(int *a,int *b,int n){ b[0]=1; for(int i=1;i<=n;i++) a[i]=a[i]*i%mo; for(int i=1;i<=n;i++){ b[i]=0; for(int j=1;j<=i;j++) b[i]=(a[j]*b[i-j]+b[i])%mo; b[i]=b[i]*qp(i,mo-2)%mo; } for(int i=1;i<=n;i++) a[i]=a[i]*qp(i,mo-2)%mo; } int main(){ cin>>n>>t>>mo; cout<<dp[n][1]*qp(n,t)%mo; }