MOD = 998244353 def matrix_mult(A, B): """4x4 行列の乗算""" size = 4 return [[sum(A[i][k] * B[k][j] for k in range(size)) % MOD for j in range(size)] for i in range(size)] def matrix_pow(M, p): """4x4 行列の累乗""" size = 4 result = [[1 if i == j else 0 for j in range(size)] for i in range(size)] # 単位行列 base = M while p: if p % 2 == 1: result = matrix_mult(result, base) base = matrix_mult(base, base) p //= 2 return result def solve(X1, Y1, N): # 初期行列 (4x4) base_matrix = [ [X1, -5 * Y1 % MOD, 0, 0], # X_{n+1} = X1 * Xn - 5 * Y1 * Yn [Y1, X1, 0, 0], # Y_{n+1} = X1 * Yn + Y1 * Xn [X1, -5*Y1, 1, 0], # 累積和 An 更新用 [Y1, X1, 0, 1] # 累積和 Bn 更新用 ] # trans = [[X1, X1, X1, X1], [-5*Y1, Y1, -5*Y1, Y1], [0, 0, 1, 0], [0, 0, 0, 1]] # 初期ベクトル initial_vector = [X1, Y1, X1, Y1] # [X1, Y1, A1, B1] # 行列累乗 final_matrix = matrix_pow(base_matrix, N - 1) # 結果の計算 result_vector = [ sum(final_matrix[i][j] * initial_vector[j] for j in range(4)) % MOD for i in range(4) ] # 結果の抽出 final_XN, final_YN, sum_X, sum_Y = result_vector return sum_X, sum_Y # 入力 X1, Y1, N = map(int, input().split()) sum_X, sum_Y = solve(X1, Y1, N) print(sum_X, sum_Y)