#include <bits/stdc++.h>
using namespace std;
const int MAX = 105, MOD = 100000000;
int n, m, a, b, dp[MAX][MAX][2];
int F(int i, int j, int f) {
  if (i < 0 || j < 0) return 0;
  if (dp[i][j][f] != -1) return dp[i][j][f];
  int ans = 0;
  if (f == 0)
    for (int k = 1; k <= a; k++) ans = (ans + F(i - k, j, f ^ 1)) % MOD;
  if (f == 1)
    for (int k = 1; k <= b; k++) ans = (ans + F(i, j - k, f ^ 1)) % MOD;
  return dp[i][j][f] = ans;
}
int main() {
  scanf("%d%d%d%d", &n, &m, &a, &b);
  memset(dp, -1, sizeof(dp));
  for (int i = 1; i <= a; i++) dp[i][0][0] = 1;
  for (int i = 1; i <= b; i++) dp[0][i][1] = 1;
  int sol = (F(n, m, 0) + F(n, m, 1)) % MOD;
  printf("%d\n", sol);
  return 0;
}
