#include<bits/stdc++.h>
using namespace std;
int a,n,m,x,k,shu[100],up[100],ans=0;
bool f(int p,int s,int num)
{
s++;
if(s==n)
{
if(p==m)
{
k=num;
return 0;
}
else
{
ans=0;
return 1;
}
}
up[s]=up[s-2]+up[s-1];
p=shu[s]=shu[s-1]+up[s]-up[s-1];
if(s==x) ans=p;
if(s<n) f(p,s,num);
}
int main()
{
cin >> a >> n >> m >> x;
int i=1,j=2;
shu[1]=a,shu[2]=a,up[1]=a,up[2]=i;
while(f(a,j,i))
{
j=2,i++;
memset(shu,0,sizeof(shu));
memset(up,0,sizeof(up));
shu[1]=a,shu[2]=a,up[1]=a,up[2]=i;
}
cout << ans;
return 0;
}