#include <bits/stdc++.h>
using namespace std;
const int N = 105;
const int mod = 100000000;
int dyn[N][N][12][12];
int dp(int, int, int, int);
int l1, l2;
int main() {
  int n1, n2;
  cin >> n1 >> n2 >> l1 >> l2;
  memset(dyn, -1, sizeof(dyn));
  printf("%d\n", dp(n1, n2, 0, 0));
  return 0;
}
int dp(int n1, int n2, int k1, int k2) {
  int &res = dyn[n1][n2][k1][k2];
  if (res != -1)
    return res;
  else if (n1 == 0 && n2 == 0) {
    res = 1;
    return res;
  } else {
    res = 0;
    if (k1 < l1 && n1 > 0) res = (res + dp(n1 - 1, n2, k1 + 1, 0)) % mod;
    if (k2 < l2 && n2 > 0) res = (res + dp(n1, n2 - 1, 0, k2 + 1)) % mod;
    return res;
  }
}
