#include <bits/stdc++.h>
using namespace std;
int dp[101][101][11][2];
int k0, k1;
int ways(int n0, int n1, int k, int c) {
  if (n0 < 0 or n1 < 0 or k < 0) return 0;
  if (n0 == 0 and n1 == 0) return 1;
  if (dp[n0][n1][k][c] != -1) return dp[n0][n1][k][c];
  if (c == 0)
    return dp[n0][n1][k][c] =
               (ways(n0 - 1, n1, k - 1, 0) + ways(n0, n1 - 1, k1 - 1, 1)) %
               100000000;
  else if (c == 1)
    return dp[n0][n1][k][c] =
               (ways(n0, n1 - 1, k - 1, 1) + ways(n0 - 1, n1, k0 - 1, 0)) %
               100000000;
}
int main() {
  ios_base::sync_with_stdio(false);
  int n0, n1;
  cin >> n0 >> n1 >> k0 >> k1;
  memset(dp, -1, sizeof(dp));
  cout << (ways(n0 - 1, n1, k0 - 1, 0) + ways(n0, n1 - 1, k1 - 1, 1)) %
              100000000
       << endl;
  return 0;
}
