#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int n,m,a,b;
long long lst;
const long long md=1e9+7;
long long p[200010];
long long qmul(long long x,int p)
{
	if(p==0)return 1LL;
	if(p==1)return x;
	long long res=qmul(x,p/2);
	res=res*res%md;
	if(p&1)res=res*x%md;
	return res;
}
long long C(int x,int y)
{
	if(x<y)return 0LL;
	return p[x]*qmul(p[x-y]*p[y]%md,md-2)%md;
}
long long gtans(int x,int y)
{
	return C(x+y-2,y-1);
}
int main()
{
	scanf("%d%d%d%d",&n,&m,&a,&b);
	p[0]=1LL;
	for(int i=1;i<=n+m-2;i++)p[i]=p[i-1]*i%md;
	a=n-a;
	b++;
	long long ans=0LL; 
	while(a>0 && b<=m)
	{
		ans=ans+gtans(a,b)*gtans(n+1-a,m+1-b)%md;
		if(ans>=md)ans-=md;
		a--;
		b++;
	}
	printf("%lld",ans);
	return 0;
}