#include <bits/stdc++.h>
using namespace std;
long long p = 100000000;
long long dp[101][101][2];
long long k1, k2;
long long f(long long i, long long j, long long c) {
  if (i < 0 || j < 0 || (i == 0 && j == 0)) return 0;
  if (i == 0 && j > k1) return 0;
  if (j == 0 && i > k2) return 0;
  if (i == 0 && j <= k1 && c == 0)
    return 1;
  else if (i == 0 && j <= k1 && c == 1)
    return 0;
  if (j == 0 && i <= k2 && c == 1)
    return 1;
  else if (j == 0 && i <= k2 && c == 0)
    return 0;
  if (dp[i][j][c] != -1) return dp[i][j][c];
  if (c == 0) {
    long long s = 0;
    for (long long k = 1; k <= k1; k++) {
      s = s + f(i, j - k, 1) % p;
      s = s % p;
    }
    dp[i][j][c] = s;
  } else {
    long long s = 0;
    for (long long k = 1; k <= k2; k++) {
      s = s + f(i - k, j, 0) % p;
      s = s % p;
    }
    dp[i][j][c] = s;
  }
  return dp[i][j][c];
}
int main() {
  for (long long i = 1; i <= 100; i++) {
    for (long long j = 1; j <= 100; j++) {
      dp[i][j][0] = -1;
      dp[i][j][1] = -1;
    }
  }
  long long n1, n2;
  cin >> n1 >> n2 >> k1 >> k2;
  cout << (f(n2, n1, 0) % p + f(n2, n1, 1) % p) % p << endl;
}
