#include <bits/stdc++.h>
#ifdef GUDEB
#define D(x) cerr << #x << ": " << (x) << '\n';
#define ifdeb if(true)
#else
#define D(x) ;
#define ifdeb if(false)
#endif
#define all(x) begin(x), end(x)
using namespace std;
using ull = unsigned long long;
using ll = long long;
// #define int ll;
constexpr ll mod = 1000000007;
int dp[202][202][202];
void solve() {
int n, s, f;
cin >> n >> s >> f;
--s; --f;
dp[s][f][n] = 1;
dp[n-s-1][n-f-1][n] = 1;
for(int i = n; i >= 2; --i) {
for(int s = 0; s < i; ++s) {
for(int f = 0; f < i; ++f) {
int d = dp[s][f][i];
if(s == f) continue;
for(int k = s+1; k < i; ++k) {
int nf = f;
int ns = k;
if(ns >= s) --ns;
if(nf >= s) --nf;
dp[i-2-ns][i-2-nf][i-1] += d;
dp[i-2-ns][i-2-nf][i-1] %= mod;
}
}
}
}
cout << dp[0][0][1] << '\n';
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout << setprecision(20);
solve();
}