#include <cstdio>
#include <cmath>
#include <iostream>
#include <set>
#include <algorithm>
#include <vector>
#include <map>
#include <cassert>
#include <string>
#include <cstring>
#include <queue>
#include <stack>
using namespace std;
#define test() int t;scanf("%d",&t);for(int tno=1;tno<=t;tno++)
#define mp make_pair
#define pb push_back
#define wl(n) while(n--)
#define fi first
#define se second
#define all(c) c.begin(),c.end()
typedef long long ll;
typedef unsigned long long llu;
typedef vector<int> vi;
typedef pair<int,int> pii;
typedef pair<int,pair<int,int> > piii ;
typedef pair<ll,ll> pll;
typedef pair<ll,int> pli;
#define sz(a) int((a).size())
#define ini(a,v) memset(a,v,sizeof(a))
#define sc(x) scanf("%d",&x)
#define sc2(x,y) scanf("%d%d",&x,&y)
#define sc3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define scl(x) scanf("%lld",&x)
#define scl2(x,y) scanf("%lld%lld",&x,&y)
#define scl3(x,y,z) scanf("%lld%lld%lld",&x,&y,&z)
#define scs(s) scanf("%s",s);
#define debug() printf("here\n")
#define chk(a) cerr << endl << #a << " : " << a << endl
#define chk2(a,b) cerr << endl << #a << " : " << a << "\t" << #b << " : " << b << endl
#define tr(container, it) for(typeof(container.begin()) it = container.begin(); it != container.end(); it++)
#define inf ((1<<29)-1)
#define linf ((1LL<<60)-1)
const double eps = 1e-9;
const int MAX = 100005;
const ll MOD = 1000000007;
//-----------------------------------------------------------------------------------------------
ll pw(ll base ,ll expo,ll c) {
if(expo == 0 )
return 1 ;
ll f = pw(base , expo /2,c) ;
if(expo&1)
return (((f*f)%c)*base)%c ;
return (f*f)%c;
}
ll fact[100005];
void pre() {
fact[0] = 1LL;
for(ll i=1; i<100005; i++) {
fact[i] = (i*fact[i-1])%MOD;
}
}
ll calc(ll n,ll r){
if(n<r)
return 0;
if(n==0 || n>0&&r==0)
return 0;
ll ret = pw(fact[r]*fact[n-r]%MOD,MOD-2,MOD)%MOD;
return fact[n]*ret%MOD;
}
int main() {
ll n,m,x;
scl3(n,m,x);
pre();
ll a = calc(n+m-1, m-1);
x=x-1;
ll b = calc(n+x-1, x-1);
ll ans = (a - b + MOD)%MOD;
printf("%lld\n", ans);
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzZXQ+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxtYXA+CiNpbmNsdWRlIDxjYXNzZXJ0PgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPHF1ZXVlPgojaW5jbHVkZSA8c3RhY2s+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgdGVzdCgpIGludCB0O3NjYW5mKCIlZCIsJnQpO2ZvcihpbnQgdG5vPTE7dG5vPD10O3RubysrKQojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHdsKG4pIHdoaWxlKG4tLSkKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGFsbChjKSBjLmJlZ2luKCksYy5lbmQoKQp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgbGx1Owp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOyAKdHlwZWRlZiBwYWlyPGludCxpbnQ+IHBpaTsKdHlwZWRlZiBwYWlyPGludCxwYWlyPGludCxpbnQ+ID4gcGlpaSA7CnR5cGVkZWYgcGFpcjxsbCxsbD4gcGxsOwp0eXBlZGVmIHBhaXI8bGwsaW50PiBwbGk7CiNkZWZpbmUgc3ooYSkgaW50KChhKS5zaXplKCkpCiNkZWZpbmUgaW5pKGEsdikgbWVtc2V0KGEsdixzaXplb2YoYSkpCiNkZWZpbmUgc2MoeCkgc2NhbmYoIiVkIiwmeCkKI2RlZmluZSBzYzIoeCx5KSBzY2FuZigiJWQlZCIsJngsJnkpCiNkZWZpbmUgc2MzKHgseSx6KSBzY2FuZigiJWQlZCVkIiwmeCwmeSwmeikKI2RlZmluZSBzY2woeCkgc2NhbmYoIiVsbGQiLCZ4KQojZGVmaW5lIHNjbDIoeCx5KSBzY2FuZigiJWxsZCVsbGQiLCZ4LCZ5KQojZGVmaW5lIHNjbDMoeCx5LHopIHNjYW5mKCIlbGxkJWxsZCVsbGQiLCZ4LCZ5LCZ6KQojZGVmaW5lIHNjcyhzKSBzY2FuZigiJXMiLHMpOwojZGVmaW5lIGRlYnVnKCkgcHJpbnRmKCJoZXJlXG4iKSAKI2RlZmluZSBjaGsoYSkgY2VyciA8PCBlbmRsIDw8ICNhIDw8ICIgOiAiIDw8IGEgPDwgZW5kbAojZGVmaW5lIGNoazIoYSxiKSBjZXJyIDw8IGVuZGwgPDwgI2EgPDwgIiA6ICIgPDwgYSA8PCAiXHQiIDw8ICNiIDw8ICIgOiAiIDw8IGIgPDwgZW5kbAojZGVmaW5lIHRyKGNvbnRhaW5lciwgaXQpICBmb3IodHlwZW9mKGNvbnRhaW5lci5iZWdpbigpKSBpdCA9IGNvbnRhaW5lci5iZWdpbigpOyBpdCAhPSBjb250YWluZXIuZW5kKCk7IGl0KyspIAojZGVmaW5lIGluZiAoKDE8PDI5KS0xKQojZGVmaW5lIGxpbmYgKCgxTEw8PDYwKS0xKQpjb25zdCBkb3VibGUgZXBzID0gMWUtOTsKY29uc3QgaW50IE1BWCA9IDEwMDAwNTsKY29uc3QgbGwgTU9EID0gMTAwMDAwMDAwNzsKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpsbCBwdyhsbCBiYXNlICxsbCBleHBvLGxsIGMpIHsKICBpZihleHBvID09IDAgKQogIHJldHVybiAgMSA7IAogIGxsIGYgPSBwdyhiYXNlICwgZXhwbyAvMixjKSA7IAogIGlmKGV4cG8mMSkKICByZXR1cm4gKCgoZipmKSVjKSpiYXNlKSVjIDsgCiAgcmV0dXJuIChmKmYpJWM7Cn0KCmxsIGZhY3RbMTAwMDA1XTsKCnZvaWQgcHJlKCkgewogIGZhY3RbMF0gPSAxTEw7CiAgZm9yKGxsIGk9MTsgaTwxMDAwMDU7IGkrKykgewogICAgZmFjdFtpXSA9IChpKmZhY3RbaS0xXSklTU9EOwogIH0KfQogCmxsIGNhbGMobGwgbixsbCByKXsKICBpZihuPHIpCiAgICByZXR1cm4gMDsKICBpZihuPT0wIHx8IG4+MCYmcj09MCkKICAgIHJldHVybiAwOwogIGxsIHJldCA9IHB3KGZhY3Rbcl0qZmFjdFtuLXJdJU1PRCxNT0QtMixNT0QpJU1PRDsKICByZXR1cm4gZmFjdFtuXSpyZXQlTU9EOwp9CgppbnQgbWFpbigpIHsKIAogIGxsIG4sbSx4OwogIHNjbDMobixtLHgpOwoKICBwcmUoKTsKCiAgbGwgYSA9IGNhbGMobittLTEsIG0tMSk7CiAgeD14LTE7CiAgbGwgYiA9IGNhbGMobit4LTEsIHgtMSk7CgogIGxsIGFucyA9IChhIC0gYiArIE1PRCklTU9EOwogIHByaW50ZigiJWxsZFxuIiwgYW5zKTsKCiAgcmV0dXJuIDA7Cn0=