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
from bisect import bisect_left, bisect_right
from collections import defaultdict
from heapq import heapify, heappop, heappush
from math import ceil, log, sqrt
from sys import stdin
import functools

input = stdin.readline

ioint = lambda: int(input())
ioarr = lambda: list(map(int, input().split(" ")))
prnys = lambda: print("YES")
prnno = lambda: print("NO")

MAX = 10**8


T = 1
# T = ioint()
while T:
    T -= 1

    # n = ioint()
    a, b, x, y = ioarr()

    @functools.lru_cache(maxsize=None)
    def f(a, b, i, j):
        if min(a, b, i, j) < 0:  # type: ignore
            return 0
        if a == 0 and b == 0:
            return 1

        return (f(a - 1, b, i - 1, y) + f(a, b - 1, x, j - 1)) % MAX

    print(f(a, b, x, y))
    # arr = ioarr()
