mod = 998244353 def mat_mul(A, B, f = 1): #行列同士と行列ベクトルの積を計算 n = len(A) if f: #modの計算を行うか分岐 global mod if isinstance(B[0], list): #行列同士の積か分岐 C = [[0 for _ in range(n)] for _ in range(n)] for y in range(n): for x in range(n): for d in range(n): C[y][x] += A[y][d] * B[d][x] % mod C[y][x] %= mod return C else: C = [0 for _ in range(n)] for y in range(n): for x in range(n): C[y] += A[y][x] * B[x] % mod C[y] %= mod return C else: if isinstance(B[0], list): C = [[0 for _ in range(n)] for _ in range(n)] for y in range(n): for x in range(n): for d in range(n): C[y][x] += A[y][d] * B[d][x] return C else: C = [0 for _ in range(n)] for y in range(n): for x in range(n): C[y] += A[y][x] * B[x] return C def pow_mat(M, B, n): #行列の累乗(M = 正規行列、 B = 遷移行列) while n: if n & 1: M = mat_mul(B, M) B = mat_mul(B, B) n >>= 1 return M x1, y1, n = map(int, input().split()) B = [[x1, -5*y1, 0, 0], [y1, x1, 0, 0], [1, 0, 1, 0], [0, 1, 0, 1]] B = pow_mat([[1 if i == j else 0 for j in range(4)] for i in range(4)], B, n) A = mat_mul(B, [x1, y1, 0, 0]) print(*A[2:])