def Matprod(A, B, mod): N = len(A) temp = [[0] * N for i in range(N)] for i in range(N): for j in range(N): for k in range(N): temp[i][j] += A[i][k] * B[k][j] temp[i][j] %= mod return temp def Matpow(A, M, mod): N = len(A) Mat = [[0] * N for i in range(N)] for i in range(N): Mat[i][i] = 1 for i in range(64): if (M >> i) & 1: Mat = Matprod(Mat, A, mod) A = Matprod(A, A, mod) return Mat a, b, n = map(int, input().split()) mod = 10**9 + 7 if n <= 1: print(n) exit() Mat = [[a, b], [1, 0]] Mat = Matpow(Mat, n - 1, mod) print( Mat[0][0] % mod )