#include <iostream>
#include <vector>
#include <utility>

using namespace std;

int h, w, k;
vector< vector<long long int> > pat(8, vector<long long int>(101, 0));

void func(int piv, int cont) {
    if (piv >= w) {
        for (int i=0; i<w; i++) {
            pat[i][cont+1] += pat[i][cont];
            pat[i][cont+1] %= 1000000007;
        }
        return;
    }
    
    swap(pat[piv][cont], pat[piv-1][cont]);
    func(piv+2, cont);
    swap(pat[piv][cont], pat[piv-1][cont]);
    func(piv+1, cont);

    return;
}

int main() {
    pat[0][0] = 1;
    cin >> h >> w >> k;

    for (int i=0; i<h; i++) {
        func(1, i);
    }

    cout << pat[k-1][h] << endl;

    return 0;
}