#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"
int a,n,m,x;
int b[1000],c[1000];
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>a>>n>>m>>x;
b[0]=a,b[1]=a,b[2]=a;
for(int i=3;i<n;i++){
b[i]=b[i-2]+b[i-3];
}
int ans=(m-b[n-1])/(n-3);
cout<<b[x]+(x-3)*ans;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"
int a,n,m,x;
int b[1000],c[1000],d[1000];
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>a>>n>>m>>x;
if(x==1){
cout<<a<<endl;
return 0;
}
b[0]=a,b[1]=a,b[2]=a;
c[2]=1,d[4]=1,d[5]=1;
for(int i=3;i<n;i++){
b[i]=b[i-2]+b[i-3];
//cout<<b[i]<<" ";
}//cout<<endl;
for(int i=3;i<n;i++){
c[i]=c[i-1]+c[i-2];
//cout<<c[i]<<" ";
}//cout<<endl;
for(int i=6;i<=n;i++){
d[i]=d[i-1]*2;
//cout<<d[i]<<" ";
}//cout<<endl;
int ans=(m-b[n-1])/d[n];
cout<<b[x]+(d[x])*ans;
return 0;
}