Gaius Julius Caesar, a famous general, loved to line up his soldiers. Overall the army had *n*<sub class="lower-index">1</sub> footmen and *n*<sub class="lower-index">2</sub> horsemen. Caesar thought that an arrangement is not beautiful if somewhere in the line there are strictly more that *k*<sub class="lower-index">1</sub> footmen standing successively one after another, or there are strictly more than *k*<sub class="lower-index">2</sub> horsemen standing successively one after another. Find the number of beautiful arrangements of the soldiers. 

Note that all *n*<sub class="lower-index">1</sub> + *n*<sub class="lower-index">2</sub> warriors should be present at each arrangement. All footmen are considered indistinguishable among themselves. Similarly, all horsemen are considered indistinguishable among themselves.
The only line contains four space-separated integers *n*<sub class="lower-index">1</sub>, *n*<sub class="lower-index">2</sub>, *k*<sub class="lower-index">1</sub>, *k*<sub class="lower-index">2</sub> (1 ≤ *n*<sub class="lower-index">1</sub>, *n*<sub class="lower-index">2</sub> ≤ 100, 1 ≤ *k*<sub class="lower-index">1</sub>, *k*<sub class="lower-index">2</sub> ≤ 10) which represent how many footmen and horsemen there are and the largest acceptable number of footmen and horsemen standing in succession, correspondingly.
2 1 1 10
1
2 3 1 2
5
2 4 1 1
0
10 10 5 7
173349
12 15 7 2
171106
20 8 4 8
162585
15 8 2 6
156
100 100 10 10
950492
20 15 10 9
26057516
18 4 3 1
0
19 12 5 7
77429711
20 4 9 4
5631
24 30 5 1
0
56 37 4 1
84920121
28 65 5 9
83961789
67 26 6 1
89553795
57 30 5 9
17123805
56 40 3 2
69253068
34 57 1 1
0
78 21 10 1
96098560
46 46 2 5
84310381
34 55 2 9
13600171
46 51 4 5
25703220
64 23 3 6
7467801
67 24 6 3
3793964
78 14 3 9
0
56 34 8 10
92618496
57 25 10 4
4458038
1 2 1 1
1
1 1 1 1
2
2 1 1 1
1
99 100 10 10
65210983
100 99 10 10
65210983
100 100 9 10
67740290
1 2 10 10
3
1 3 10 10
4
2 2 10 10
6
2 2 1 2
3
import sys
def input()   : return sys.stdin.readline().strip()
def getints() : return map(int,sys.stdin.readline().strip().split())

n1,n2,k1,k2 = getints()
m = 10**8
a = {}

def solve(n1,n2,s):
    t = (n1,n2,s)
    if t in a: return a[t]
     
    if n1 == 0 and n2 == 0:
        a[t] = 1
        return 1
    ans = 0
    if s:
        for i in range(1,k1+1):
            if n1-i >= 0: ans += solve(n1-i,n2,1-s)
            else: break
    else:
        for i in range(1,k2+1):
            if n2-i >=0: ans += solve(n1,n2-i,1-s)
            else: break
    a[t] = ans%m
    return a[t]

print(solve(n1,n2,1)+solve(n1,n2,0))