#include <bits/stdc++.h>
using namespace std;
using ll=long long;
const ll MOD=(ll)1e9+7;

const int pat[]={1,2,3,5,8,13,21};

int main(){
    ll dp[110][10];
    memset(dp,0,sizeof(dp));
    int H,W,K; cin>>H>>W>>K;
    dp[0][0]=1ll; //dp[i][j]: 高さi終了時にj番目にいる
    if(W==1){
        cout<<1<<endl;
        return 0;
    }
    for(int i=0;i<H;++i){
        for(int j=0;j<W;++j){
            (dp[i+1][j]+=dp[i][j]*pat[max(0,j-1)]*pat[max(0,W-j-2)])%=MOD;
            if(j>0) (dp[i+1][j-1]+=dp[i][j]*pat[max(0,j-2)]*pat[max(0,W-j-2)])%=MOD;
            if(j<W-1) (dp[i+1][j+1]+=dp[i][j]*pat[max(0,j-1)]*pat[max(0,W-j-3)])%=MOD;
        }
    }

    cout<<dp[H][K-1]<<endl;

    return 0;
}

