만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

IQ 테스트

시간 제한1초메모리 제한512 MB

요약
0 이상 10^18 이하의 정수 n이 주어지면, 집합에 0, 1, 2에서 시작해 x^2 - y 연산을 최대 43번 수행하여 n을 집합에 넣는 방법을 출력합니다.
난이도

보통10점 중 7점

유형
수학, 비트 연산, 구현
정답자
아직 제출이 없습니다

문제

정수 집합 SS가 주어진다. 처음에 SS에는 00, 11, 22가 들어 있다.

0번 이상의 단계를 수행할 수 있다. 각 단계에서는 x∈Sx \in S이고 y∈Sy \in S인 두 원소 xx, yy(같은 값이어도 된다)를 고르고, 수 x2−yx^2 - y를 집합 SS에 넣는다.

단계는 43번을 넘게 수행할 수 없다.

목표는 집합에 정수 nn을 넣는 것이다.

입력

첫째 줄에 집합에 넣어야 하는 정수 nn (0≤n≤10180 \le n \le 10^{18})이 하나 주어진다.

출력

각 단계마다 xx와 yy를 한 줄에 출력한다. 이때 0≤x2−y≤10180 \le x^2 - y \le 10^{18}을 만족해야 한다.

단계 수는 43 이하여야 한다. 단계 수를 최소로 만들 필요는 없다. 가능한 해가 여러 개라면 그중 아무거나 하나를 출력한다.

예제2

  1. 예제 1

    입력
    5
    
    예상 출력
    1 1
    2 1
    2 0
    3 4
    
  2. 예제 2

    입력
    7
    
    예상 출력
    1 1
    2 1
    3 2