#include<bits/stdc++.h>
const int _ = 303;
int n,m,P,f[_][_][_]={0};
int main()
{
	std::cin>>n>>m>>P;
	f[0][1][0]=1;
	for(int i=0;i<=n;i++)
		for(int j=1;j<=m;j++)
			for(int k=i;k>=0;k--)
			{
				if(k)f[i][j][k-1]=(f[i][j][k-1]+f[i][j][k])%P;
				else f[i][j+1][i]=(f[i][j+1][i]+f[i][j][k])%P;
				f[i+1][j][k]=(f[i+1][j][k]+1ll*f[i][j][k]*(k+1)%P)%P;
			}
	std::cout<<f[n][m][0];
	return 0;
}
