#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:36777216")
using namespace std;
inline int MAX(int a, int b) { return (a > b) ? (a) : (b); }
inline int MIN(int a, int b) { return (a < b) ? (a) : (b); }
int main() {
  int const sz = 100;
  int i, j, a, b, n1, n2, k1, k2, s;
  cin >> n1 >> n2 >> k1 >> k2;
  long long f[101][101], g[101][101], mod = 1e8;
  for (i = 0; i <= n1; i++)
    for (j = 0; j <= n2; j++) {
      f[i][j] = 0;
      g[i][j] = 0;
    }
  for (i = 1; i <= k1; i++) f[i][0] = 1;
  for (i = 1; i <= k2; i++) g[0][i] = 1;
  int d;
  for (d = 1; d <= n1 + n2; d++)
    for (j = 1; j <= MIN(n2, d - 1); j++) {
      i = d - j;
      if (i <= n1) {
        for (s = 1; s <= MIN(i, k1); s++)
          f[i][j] = (f[i][j] + g[i - s][j]) % mod;
        for (s = 1; s <= MIN(j, k2); s++)
          g[i][j] = (g[i][j] + f[i][j - s]) % mod;
      }
    }
  cout << (f[n1][n2] + g[n1][n2]) % mod;
  return 0;
}
