#include<bits/stdc++.h>
#define N 1e6+10
using namespace std;
int a,n,m,x;
long long int suma[100010],sumx[1000100],upx[100010],upa[100100],downx[100010],downa[100010];
int main(){
cin>>a>>m>>n>>x;
suma[1]=a;
sumx[1]=0;
suma[2]=a;
sumx[2]=0;
upa[1]=a;
upa[2]=0;
upx[1]=0;
upx[2]=1;//设第二站有x人上车
downx[2]=1;//同上
downa[1]=0;
downa[2]=0;
downx[1]=0;
for(int i=3;i<n;i++){
sumx[i]+=sumx[i-1];
suma[i]+=suma[i-1];
upa[i]+=upa[i-1]+upa[i-2];
upx[i]+=upx[i-1]+upx[i-2];
downa[i]+=upa[i-1];
downx[i]+=upx[i-1];
suma[i]+=upa[i];
suma[i]-=downa[i];
sumx[i]+=upx[i];
sumx[i]-=downx[i];
}
int xx=(m-suma[n-1])/sumx[n-1];
cout<<suma[x+1]+sumx[x+1]*xx;//<<" x="<<xx<<endl;
//for(int i=1;i<n;i++){
// cout<<"sum["<<i<<"]"<<suma[i]/a<<endl;
//}
//cout<<xx<<(m-suma[n-1]*a)/sumx[n-1];
return 0;
}
P1011