#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
#define LL long long
const LL mod = 1e9 + 7;
int H, W, K;
LL dp[110][9];
LL fac[10] = {1, 1};
int main(){
	cin >> H >> W >> K;
	dp[1][1] = 1;
	fac[1] = 1;
	for(int i = 2; i <= W; i++){
		fac[i] = fac[i - 1] + fac[i - 2];
	}
	for(int i = 1; i <= H; i++){
		for(int j = 1; j <= W; j++){
			dp[i + 1][j] += dp[i][j] * fac[j - 1] * fac[W - j];
			dp[i + 1][j + 1] += dp[i][j] * fac[j - 1] * fac[max(0, W - j - 1)];
			dp[i + 1][j - 1] += dp[i][j]* fac[max(0, j - 2)] * fac[W - j];
			dp[i + 1][j] %= mod;
			dp[i + 1][j + 1] %= mod;
			dp[i + 1][j - 1] %= mod;
		}
	}
	cout << dp[H + 1][K] << endl;
	return 0;
}