1 /*************************************************************************
 2     > File Name: code/zoj/3624.cpp
 3     > Author: 111qqz
 4     > Email: rkz2013@126.com 
 5     > Created Time: 2015年10月20日 星期二 06时45分26秒
 6  ************************************************************************/
 7 
 8 #include<iostream>
 9 #include<iomanip>
10 #include<cstdio>
11 #include<algorithm>
12 #include<cmath>
13 #include<cstring>
14 #include<string>
15 #include<map>
16 #include<set>
17 #include<queue>
18 #include<vector>
19 #include<stack>
20 #include<cctype>
21                  
22 #define yn hez111qqz
23 #define j1 cute111qqz
24 #define ms(a,x) memset(a,x,sizeof(a))
25 using namespace std;
26 const int dx4[4]={1,0,0,-1};
27 const int dy4[4]={0,-1,1,0};
28 typedef long long LL;
29 typedef double DB;
30 const int inf = 0x3f3f3f3f;
31 const LL MOD = 1E8+7;
32 int m,n,p,q;
33 LL qpow(LL a,LL b,LL p)
34 {
35     LL res = 1;
36     while (b)
37     {
38     if (b&1) res = (res*a)%p;
39     a = (a*a)%p;
40     b >>=1;
41     }
42     return res;
43 }
44 
45 LL comb(LL a,LL b,LL p)
46 {
47     if (a<b) return 0;
48     if (a==b) return 1;
49     if (b>a-b) b = a-b;
50     
51     LL ans = 1,ca = 1,cb = 1;
52     for ( LL i = 0 ; i < b ; i++)
53     {
54     ca = (ca*(a-i))%p;
55     cb = (cb*(b-i))%p;
56     }
57     ans  = (ca*qpow(cb,p-2,p))%p;
58     return ans;
59 }
60 
61 LL lucas(int n,int m,int p)
62 {
63     LL ans = 1;
64     
65     while (n&&m&&ans)
66     {
67     ans = (ans*comb(n%p,m%p,p))%p;
68     n /= p;
69     m /= p;
70     }
71     return ans%p;
72 }
73 
74 int main()
75 {
76   #ifndef  ONLINE_JUDGE 
77    freopen("in.txt","r",stdin);
78   #endif
79 
80    while (scanf("%d %d %d %d",&m,&n,&p,&q)!=EOF)
81   {
82       LL ans;
83       ans =(lucas(m+n,n,MOD)*lucas(m+q-p,q,MOD))%MOD+MOD;
84       ans = ans -(lucas(m+q,m,MOD)*lucas(m+n-p,n,MOD))%MOD;
85       ans = ans % MOD ;
86 
87     
88       printf("%lld\n",ans);
89 
90   }
91   
92    
93  #ifndef ONLINE_JUDGE  
94   fclose(stdin);
95   #endif
96     return 0;
97 }