#yukicoder 2368 I love a square root of 2 from collections import deque #入力受取 N = int(input()) #比較関数を定義 (x, y) = x + y√2 として、前者のほうが小さいか判定する def compare(P1, P2): x1, y1 = P1 x2, y2 = P2 return (x1 - x2) ** 2 <= 2 * (y1 - y2) ** 2 #2つの筒を用意 Q[0]は長さ1, Q[1]は長さ√2 Q = [deque([(1, 0)]), deque([(0, 1)])] #1個目の処理を終えた状態から始める x = y = 0 for _ in range(N - 1): i = 0 if compare(Q[0][0], Q[1][0]) else 1 #Q[i]の先頭要素を取り出す x,y = Q[i].popleft() #次の値に遷移 y == 0の時に限り長さ1の筒に入れる if y == 0: Q[0].append((x + 1, y)) Q[1].append((x, y + 1)) #答えを出力 print(x,y)