def fun(n,a,b):
p=[]
p.append(a)
p.append(a)
l=[]
l.append(a)
l.append(b)
for i in range(2,n-2):
l.append(l[i-2]+l[i-1])
for i in range(2,n):
p.append(p[i-1]+l[i-2])
return p[n-1]
if __name__ == '__main__':
a,n,m,x=map(int,input().split())
for i in range(1,100):
if fun(n-1,a,i)==m:
print(fun(x,a,i))
break