#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
int main()
{
int dp[101][101];
memset(dp,0,sizeof(dp));
dp[1][0]=1;
dp[1][1]=0;
int i,j;
for (i=2;i<=100;i++)
{
dp[i][0]=1;
for (j=1;j<=i-1;j++)
dp[i][j]=(dp[i-1][j]*(j+1)%2009+dp[i-1][j-1]*(i-j)%2009)%2009;
}
int n,m;
while (scanf("%d",&n)!=EOF)
{
scanf("%d",&m);
printf("%d\n",dp[n][m]);
}
}