#include<bits/stdc++.h>
using namespace std;
const int mod=1e8;
int n1,n2,k1,k2,dp[105][105][2];
int dfs(int a,int b,int cnt,int p){
if(a==n1&&b==n2)
return 1;
if(~dp[a][b][p])
return dp[a][b][p];
int res=0;
if(p){
if(cnt<k1&&a<n1)
res+=dfs(a+1,b,cnt+1,1);
if(b<n2)
res+=dfs(a,b+1,1,0);
} else{
if(cnt<k2&&b<n2)
res+=dfs(a,b+1,cnt+1,0);
if(a<n1)
res+=dfs(a+1,b,1,1);
}
return dp[a][b][p]=res%mod;
}
int main(){
cin>>n1>>n2>>k1>>k2;
if((n1&&!k1)||(n2&&!k2)){
puts("0");
return 0;
}
memset(dp,-1,sizeof(dp));
cout<<dfs(1,0,1,1)+dfs(0,1,1,0)<<endl;
return 0;
}