#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e8;
int dp[200][200][2];
int n1, n2, k1, k2;
int f(int s1, int s2, bool kangi) {
  if (s1 + s2 == 0) return 1;
  if (dp[s1][s2][kangi] != -1) return dp[s1][s2][kangi];
  int don = 0, i;
  if (kangi) {
    for (i = 1; i <= k1 && s1 - i >= 0; i++) {
      don += f(s1 - i, s2, !kangi);
      don %= MOD;
    }
  } else {
    for (i = 1; i <= k2 && s2 - i >= 0; i++) {
      don += f(s1, s2 - i, !kangi);
      don %= MOD;
    }
  }
  return dp[s1][s2][kangi] = don;
}
int main() {
  memset(dp, -1, sizeof dp);
  scanf("%d %d %d %d", &n1, &n2, &k1, &k2);
  printf("%d\n", (f(n1, n2, 0) + f(n1, n2, 1)) % MOD);
  return 0;
}
