#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int mod = 1E8;
int n1, n2, k1, k2;
int memo[101][101][11][11];
ll C(int f, int h, int kf, int kh) {
  if (memo[f][h][kf][kh] != -1) return memo[f][h][kf][kh];
  if (f + h == 0)
    return 1;
  else {
    ll ans = 0;
    if (f > 0 && kf > 0) ans = (ans + C(f - 1, h, kf - 1, k2)) % mod;
    if (h > 0 && kh > 0) ans = (ans + C(f, h - 1, k1, kh - 1)) % mod;
    return memo[f][h][kf][kh] = ans;
  }
}
int main() {
  scanf("%d%d%d%d", &n1, &n2, &k1, &k2);
  memset(memo, -1, sizeof(memo));
  printf("%I64d\n", C(n1, n2, k1, k2));
  return 0;
}
