#include <bits/stdc++.h>
using namespace std;
int n1, n2, k1, k2;
int dp[105][105][3];
int solve(int x, int y, int c) {
  if (x < 0 || y < 0) return 0;
  if (x == 0 && y == 0) return 1;
  int& ret = dp[x][y][c];
  if (ret != -1) return ret;
  ret = 0;
  if (c == 0) {
    for (int i = 1; i <= min(x, k1); i++) {
      ret = (ret + solve(x - i, y, 1 - c)) % 100000000;
    }
  } else {
    for (int i = 1; i <= min(y, k2); i++) {
      ret = (ret + solve(x, y - i, 1 - c)) % 100000000;
    }
  }
  return ret;
}
int main() {
  cin >> n1 >> n2 >> k1 >> k2;
  memset(dp, -1, sizeof dp);
  int ans = (solve(n1, n2, 0) + solve(n1, n2, 1)) % 100000000;
  cout << ans << endl;
  return 0;
}
