#include <bits/stdc++.h>
using namespace std;
int n1, n2, k1, k2;
long long arr[101][101][11][11];
long long dp(int foot, int horse, int re1, int re2) {
  if (foot < 0 || horse < 0)
    return 0;
  else if (foot == 0 && horse == 0)
    return 1;
  long long &ret = arr[foot][horse][re1][re2];
  if (ret != -1) return ret;
  int sum = 0;
  if (foot > 0 && re1 > 0)
    sum = (sum + dp(foot - 1, horse, re1 - 1, k2) % 100000000) % 100000000;
  if (horse > 0 && re2 > 0)
    sum = (sum + dp(foot, horse - 1, k1, re2 - 1) % 100000000) % 100000000;
  return ret = sum;
}
int main() {
  cin >> n1 >> n2 >> k1 >> k2;
  for (int i = 0; i < 101; i++) {
    for (int j = 0; j < 101; j++) {
      for (int k = 0; k < 11; k++) {
        for (int l = 0; l < 11; l++) {
          arr[i][j][k][l] = -1;
        }
      }
    }
  }
  cout << dp(n1, n2, k1, k2) << endl;
  return 0;
}
