#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int mod = 1e8;
int n1, n2, h1, h2;
ll dp[105][105][15][2];
ll solve(int foot, int horse, int consec, int kind) {
  if (foot == n1 && horse == n2) {
    return 1;
  }
  if (foot > n1 || horse > n2) return 0;
  if (dp[foot][horse][consec][kind] != -1) return dp[foot][horse][consec][kind];
  ll ans = 0;
  if (kind == 0) {
    if (consec < h1) ans += solve(foot + 1, horse, consec + 1, 0) % mod;
    ans += solve(foot, horse + 1, 1, 1);
    ans %= mod;
  } else if (kind == 1) {
    if (consec < h2) ans += solve(foot, horse + 1, consec + 1, 1) % mod;
    ans += solve(foot + 1, horse, 1, 0);
    ans %= mod;
  }
  return dp[foot][horse][consec][kind] = ans;
}
int main() {
  for (int i = 0; i < 105; i++) {
    for (int j = 0; j < 105; j++) {
      for (int k = 0; k < 15; k++) {
        for (int l = 0; l < 2; l++) dp[i][j][k][l] = -1;
      }
    }
  }
  cin >> n1 >> n2 >> h1 >> h2;
  int ans = solve(0, 0, 0, 0);
  cout << ans;
  return 0;
}
