#include <bits/stdc++.h>
using namespace std;
int n1, n2, lia, lib;
long long int dp[101][101][11][11];
long long int fi(int n1, int n2, int k1, int k2) {
  if (n1 + n2 == 0) {
    return 1;
  }
  if (dp[n1][n2][k1][k2] != -1) return dp[n1][n2][k1][k2];
  long long int x = 0, y = 0;
  if (n1 > 0 && (k1 > 0)) x = fi(n1 - 1, n2, k1 - 1, lib) % 100000000;
  if (n2 > 0 && (k2 > 0)) y = fi(n1, n2 - 1, lia, k2 - 1) % 100000000;
  return dp[n1][n2][k1][k2] = (x + y) % 100000000;
}
void solve() {
  int w = 0, l = 0, k = 0, q = 0, m = 0, r = 0, p = 0, x = 0, y = 0, n = 0;
  memset(dp, -1, sizeof dp);
  cin >> n1 >> n2 >> lia >> lib;
  r = lia, w = lib;
  long long int ans = 0;
  cout << fi(n1, n2, r, w) % 100000000 << "\n";
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
