#法1:递归求解,太耗时编译不通过
a0,a1,p,q,k = list(map(int,input().split()))
def f(n):
if n == 0:
return a0
elif n==1:
return a1
else:
return p*f(n-1) + q*f(n-2)
print(f(k)%10000)
#法2,常规方法
a0,a1,p,q,k = list(map(int,input().split()))
a=[a0,a1]
for i in range(2,k+1):
a.append((p*a[i-1] + q*a[i-2])%10000)
print(a[k]%10000)
#法3,常规方法,只记录两个中间值
while 1:
try:
a0,a1,p,q,k = list(map(int,input().split()))
if k==0:
print(a0%10000)
elif k==1:
print(a1%10000)
else:
for i in range(2,k+1):
temp = p*a1 + q*a0
a0,a1 = a1,temp%10000
print(temp%10000)
except:
break