#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod=1e9+7;
int dp[2005],n,k;
int qpow(int x,int y)
{
	if(y<0)return 1;
	int res=1;
	while(y)
	{
		if(y&1)res=res*x%mod;
		x=x*x%mod;
		y>>=1;
	}
	return res;
}
signed main()
{
	cin>>n>>k;
	dp[0]=1;
	for(int i=1;i<n;++i)
	{
		for(int j=i;j>=1;--j)
		{
			dp[j]=dp[j+1]+dp[j-1];
			if(dp[j]>=mod)dp[j]-=mod;
		}
		dp[0]=dp[1];
	}
	cout<<dp[n-k]*qpow(2,n-k-1)%mod<<endl;
}
