만드는 중입니다

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

차이 표현

시간 제한2초메모리 제한1024 MB

요약
주어진 양의 정수 x마다 a_p - a_q = x를 만족하는 인덱스 쌍 (p, q)를 구합니다. 수열은 두 배를 하거나 차이로 나타나지 않는 가장 작은 값을 더해 만들어집니다.
난이도

어려움10점 중 8점

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

문제

정수로 이루어진 무한 수열 a1,a2,a3,…a_1, a_2, a_3, \dots을 다음과 같이 정의한다.

an={nn≤2일 때2an−1n>2이고 n이 홀수일 때an−1+rn−1n>2이고 n이 짝수일 때a_n = \begin{cases} n & n \le 2\text{일 때} \\ 2a_{n-1} & n > 2\text{이고 }n\text{이 홀수일 때} \\ a_{n-1} + r_{n-1} & n > 2\text{이고 }n\text{이 짝수일 때} \end{cases}

여기서 rn−1r_{n-1}은 집합 {a1,a2,…,an−1}\{a_1, a_2, \dots, a_{n-1}\}에 속한 서로 다른 두 원소의 차로 나타낼 수 없는 가장 작은 양의 정수이다.

수열의 처음 몇 항은 1,2,4,8,16,21,42,51,102,112,224,235,470,486,972,990,1980,…1, 2, 4, 8, 16, 21, 42, 51, 102, 112, 224, 235, 470, 486, 972, 990, 1980, \dots이다.

예를 들어 a6a_6을 구하려면, 1,2,3,41, 2, 3, 4는 각각 처음 다섯 항 1,2,4,8,161, 2, 4, 8, 16 중 두 항의 차로 나타낼 수 있지만 55는 그렇지 않다. 따라서 a6=a5+5=21a_6 = a_5 + 5 = 21이다.

모든 양의 정수 xx에 대해 x=ap−aqx = a_p - a_q를 만족하는 인덱스 쌍 (p,q)(p, q)가 정확히 하나 존재한다. 이 쌍을 repr(x)repr(x)로 표기한다. 예를 들어 repr(17)=(6,3)repr(17) = (6, 3)이고 repr(18)=(16,15)repr(18) = (16, 15)이다. 주어진 xx에 대해 repr(x)repr(x)를 구하라.

입력

첫 줄에 테스트 케이스의 개수 nn이 주어진다. 이어서 nn개의 줄에 양의 정수 xx가 한 줄에 하나씩 주어진다. 입력되는 수들은 서로 다르다고 가정해도 된다.

출력

nn개의 줄을 출력한다. 입력된 각 xx에 대응하는 줄에는 repr(x)=(p,q)repr(x) = (p, q)의 두 정수 pp와 qq를 공백 한 칸으로 구분하여 출력한다.

제한

n≤100000n \le 100000

x≤109x \le 10^9

예제1

  1. 예제 1

    입력
    2
    17
    18
    
    예상 출력
    6 3
    16 15