#include <bits/stdc++.h>
using namespace std;
const int N = 1e2 + 5, MOD = 1e8;
int n, m, a, b;
vector<vector<long long>> d1(N, vector<long long>(N, -1)),
    d2(N, vector<long long>(N, -1));
long long cal2(int x, int y);
long long cal1(int x, int y) {
  if (d1[x][y] != -1) return d1[x][y];
  if (!x) return 0;
  if (!y) return x <= a;
  long long tp = 0;
  for (int i = 1; i <= min(a, x); ++i) {
    tp += cal2(x - i, y);
    tp %= MOD;
  }
  d1[x][y] = tp;
  return tp;
}
long long cal2(int x, int y) {
  if (d2[x][y] != -1) return d2[x][y];
  if (!y) return 0;
  if (!x) return y <= b;
  long long tp = 0;
  for (int i = 1; i <= min(b, y); ++i) {
    tp += cal1(x, y - i);
    tp %= MOD;
  }
  d2[x][y] = tp;
  return tp;
}
int main() {
  std::ios::sync_with_stdio(0);
  std::cin.tie(0);
  std::cout.tie(0);
  cin >> n >> m >> a >> b;
  cout << (cal1(n, m) + cal2(n, m)) % MOD;
}
