#include <bits/stdc++.h>
using namespace std;
const int N = 1e2, W = 10;
long long dp[N + 5][N + 5][W + 5][W + 5];
int n1, n2, k1, k2;
int main() {
  memset(dp, -1, sizeof(dp));
  cin >> n1 >> n2 >> k1 >> k2;
  for (int i = 0; i <= n1; i++) {
    for (int j = 0; j <= n2; j++) {
      for (int k = 0; k <= k1; k++) {
        for (int l = 0; l <= k2; l++) {
          long long ans = 0;
          if ((i + j) == 0) {
            ans = 1;
          } else {
            ans = 0;
            if (i > 0 && k > 0)
              ans = (ans + dp[i - 1][j][k - 1][k2]) % 100000000;
            if (j > 0 && l > 0)
              ans = (ans + dp[i][j - 1][k1][l - 1]) % 100000000;
          }
          dp[i][j][k][l] = ans;
        }
      }
    }
  }
  cout << dp[n1][n2][k1][k2] << endl;
  return 0;
}
