Problem:

たしざんひきざん (Calculation Training)

square1001 君は E869120 君に、誕生日プレゼントとして二つの数字 $A$ と $B$ をプレゼントしました。

E869120 君はこの二つの数字を使って、計算トレーニングをすることにしました。

具体的には、E869120君は次の操作をちょうど $N$ 回これらの数に行います。

    
奇数回目の操作のとき、$A$ を $A-B$ で置き換える

    
偶数回目の操作のとき、$B$ を $A+B$ で置き換える

E869120君が $N$ 回の操作をした後、$A$ と $B$ の値がそれぞれいくつになっているか求めてください。

入力

入力は以下の形式で標準入力から与えられる。

$N$
$A$ $B$

出力

E869120君が $N$ 回の操作をした後の $A$ と $B$ の値を、この順に空白区切りで出力してください。

ただし、最後には改行を入れること。

制約

    
$1 \leq N \leq 1000000000000000000 \ (= 10^{18})$

    
$1 \leq A \leq 1000000000 \ (= 10^9)$

    
$1 \leq B \leq 1000000000 \ (= 10^9)$

    
入力は全て整数である。

入力例1

3
3 4

出力例1

-4 3

$(A, B)$ の値は $(3,4) → (-1,4) → (-1,3) → (-4,3)$ と変化します。

入力例2

8
6 9

出力例2

3 -6



Sample input:
3
3 4


Sample output:
-4 3

Submission status: Accepted

Solution code:
N = int(input())
A, B = map(int, input().split())

N %= 12

for i in range(1, N + 1):
    if i % 2 == 1:
        A = A - B
    else:
        B = A + B

print(A, B)

Submission status: Accepted

Solution code:
n = int(input())
a,b = map(int,input().split())

n %= 12
for i in range(n):
    if i%2 == 0:
        a = a-b
    else:
        b = a+b
print(a,b)

Submission status: Accepted

Solution code:
from itertools import *
from bisect import *
from math import *
from collections import *
from heapq import *
from random import *
import sys

sys.setrecursionlimit(10 ** 6)
int1 = lambda x: int(x) - 1
p2D = lambda x: print(*x, sep="\n")
def II(): return int(sys.stdin.readline())
def MI(): return map(int, sys.stdin.readline().split())
def MI1(): return map(int1, sys.stdin.readline().split())
def MF(): return map(float, sys.stdin.readline().split())
def LI(): return list(map(int, sys.stdin.readline().split()))
def LI1(): return list(map(int1, sys.stdin.readline().split()))
def LF(): return list(map(float, sys.stdin.readline().split()))
def LLI(rows_number): return [LI() for _ in range(rows_number)]
dij = [(1, 0), (0, 1), (-1, 0), (0, -1)]

def main():
    n=II()
    a,b=MI()
    n%=12
    for i in range(n):
        if i%2:b+=a
        else:a-=b
    print(a,b)

main()

Submission status: Accepted

Solution code:
N = int(input())
A, B = map(int,input().split())
N = N%12
for k in range(1,N+1):
    if k%2 == 1:
        A -= B
    else:
        B += A
print(A,B)

Submission status: Accepted

Solution code:
N=int(input())
A,B=map(int,input().split())

def one(n,A,B):
    if n%2==0:
        return A-B,B
    else:
        return A,A+B

N=N%12

for i in range(N):
    A,B=one(i,A,B)

print(A,B)

Submission status: Accepted

Solution code:
n = int(input())
a,b = map(int,input().split())
s = n%12
for i in range(1,s+1):
    if i % 2 == 0:
        b = a+b
    else:
        a = a-b
print(a,b)

Submission status: Accepted

Solution code:
n=int(input())
a,b=map(int,input().split())
ab=[[a,b]]
for i in range(11):
  a,b=ab[-1]
  if i%2==0:ab.append([a-b,b])
  else:ab.append([a,a+b])
print(*ab[n%12])

Submission status: Accepted

Solution code:
n=int(input())
a,b=map(int,input().split())
n=n%12
for i in range(n):
  if i % 2:
    b=a+b
  else:
    a=a-b
print(a,b)

Submission status: Accepted

Solution code:
N = int(input())
A, B = map(int, input().split())

ret = [(A, B)]
for i in range(1, 12) :
  if i % 2 == 0 :
    B = A + B
  else :
    A = A - B
  ret.append((A, B))
  
print(*ret[N % 12])