#include <bits/stdc++.h>
using namespace std;
long long A[101][101][11][11];
int N1, N2, K1, K2;
long long F(int n1, int n2, int k1, int k2) {
  if (k1 < 0 || k2 < 0) return 0;
  long long *re = &A[n1][n2][k1][k2];
  if (*re < 0) {
    if (n1 == 0)
      if (k2 >= n2)
        *re = 1;
      else
        *re = 0;
    else if (n2 == 0)
      if (k1 >= n1)
        *re = 1;
      else
        *re = 0;
    else {
      *re = (F(n1 - 1, n2, k1 - 1, K2) % 100000000 +
             F(n1, n2 - 1, K1, k2 - 1) % 100000000) %
            100000000;
    }
  }
  return *re;
}
int main() {
  cin >> N1 >> N2 >> K1 >> K2;
  memset(A, 255, sizeof(A));
  long long result = (long long)F(N1, N2, K1, K2);
  cout << result;
  return 0;
}
