#法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