#include<bits/stdc++.h>
using namespace std;
int a,n,m,x;
long long f[10005];
int main()
{
scanf("%d%d%d%d",&a,&n,&m,&x);
//printf("%d",m);
for(int i=0;;i++)
****//问题在此处 为什么不用写i<=a呢,此时车上最多不是a人吗?****
{
f[1]=a,f[2]=a;
long long up[10005];
up[1]=a;
up[2]=i;
for(int j=3;j<=n-1;j++)
{
up[j]=up[j-1]+up[j-2];
f[j]=f[j-1]+up[j]-up[j-1];
}
if(f[n-1]==m)
{
printf("%lld",f[x]);
return 0;
}
}
// printf("No answer.");
return 0;
}