#include <bits/stdc++.h>
using namespace std;
const int mod(1000000007);
int modalitati[2001][2002];
int main ()
{
ios :: sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int lungime , inceput , sfarsit;
cin >> lungime >> inceput >> sfarsit;
modalitati[0][0] = 1;
for (int indice = 1 ; indice <= lungime ; indice++)
{
if (indice == inceput || indice == sfarsit) {
for (int numar_componente = 1 ; numar_componente <= indice ; numar_componente++)
{ modalitati[indice][numar_componente] = (modalitati[indice - 1][numar_componente - 1] + modalitati[indice - 1][numar_componente]) % mod; }
}
else {
for (int numar_componente = 1 ; numar_componente <= indice ; numar_componente++)
{ modalitati[indice][numar_componente] = 1LL * (modalitati[indice - 1][numar_componente - 1] + modalitati[indice - 1][numar_componente + 1]) * numar_componente % mod; }
}
}
cout << modalitati[lungime][1];
return 0;
}