#include #include using namespace std; long long n, m; long long fact[100100], d[100100], dp[2][100100]; long long comb(long long k, long long n) { return fact[n]/(fact[k]*fact[n-k])%666013; } int main() { int i,j,k, act=0; cin>>n>>m; d[0]=1; fact[0]=fact[1]=1; for(i=2; i<=max(n, m); ++i) { fact[i]=i*fact[i-1]%666013; } for(i=1; i<=m; ++i) { d[i]=fact[i]; for(j=1; j<=i; ++j) d[i]-=comb(j, i)*d[i-j]; } for(i=1; i<=m; ++i) dp[1^act][i]=1; for(i=2; i<=m; ++i) { for(j=i; j<=n; ++j) { dp[act][j]=0; for(k=1; k<=j-i+1; ++k) dp[act][j]+=comb(k, j)*dp[1^act][j-k]%666013; } act=1^act; } cout<