#include <bits/stdc++.h>
const int N = 1e5 + 5;
const int mod = 1e8;
using namespace std;
inline long long read() {
  long long s = 0, w = 1;
  char ch = getchar();
  while (!isdigit(ch)) {
    if (ch == '-') w = -1;
    ch = getchar();
  }
  while (isdigit(ch)) {
    s = s * 10 + ch - '0';
    ch = getchar();
  }
  return s * w;
}
int n1, n2, k1, k2;
long long f[105][105][3];
int main() {
  n1 = read(), n2 = read(), k1 = read(), k2 = read();
  f[0][0][2] = f[0][0][1] = 1;
  for (int i = 0; i <= n1; i++) {
    for (int j = 0; j <= n2; j++) {
      for (int k = 1; k <= min(k1, i); k++) {
        f[i][j][1] += f[i - k][j][2];
        f[i][j][1] %= mod;
      }
      for (int k = 1; k <= min(k2, j); k++) {
        f[i][j][2] += f[i][j - k][1];
        f[i][j][2] %= mod;
      }
    }
  }
  printf("%lld\n", (f[n1][n2][1] + f[n1][n2][2]) % mod);
  return 0;
}
