만드는 중입니다

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

이상한 섞기 연산

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

요약
길이 n의 수열에서 k를 1부터 n까지 차례로 B_k와 B_l을 맞바꾼 뒤, 값 1이 놓인 위치를 구합니다.
난이도

쉬움10점 중 3점

유형
수학, 시뮬레이션
정답자
아직 제출이 없습니다

문제

인덱스가 11부터 시작하는 길이 nn의 수열 BB가 있으며, 초기에 모든 인덱스 kk에 대해 Bk=kB_k=k입니다. 흐즈로는 이 수열에 수행할 수 있는 매우 이상하고 신기한 연산을 생각해 냈습니다. 연산은 다음과 같습니다.

  • 양의 정수 kk가 주어지면, kk의 약수인 가장 큰 22의 거듭제곱수 ll을 찾습니다. k≠lk \neq l이라면 BkB_k와 BlB_l을 서로 교환합니다. 이 동작을 kk-교환이라고 합니다.
  • i=1,2,⋯ ,ni=1,2,\cdots,n에 대해 ii-교환을 순서대로 수행합니다.

흐즈로는 이 연산을 이상한 섞기 연산이라고 부르기로 했습니다. 수열 BB의 길이 nn이 주어지면, BB에 이상한 섞기 연산을 수행한 뒤 원소 11이 있는 인덱스를 출력하세요. 즉, 연산이 끝난 후 Bj=1B_j=1이 되는 인덱스 jj를 찾아야 합니다.

입력

첫 번째 줄에 테스트 케이스의 개수 TT가 주어집니다. (1≤T≤10001 \le T \le 1000)

그다음 줄부터 총 TT개의 줄에 각각 BB의 길이를 나타내는 정수 nn이 한 줄에 하나씩 주어집니다. (1≤n≤1091 \le n \le 10^9)

출력

각 테스트 케이스에 대해, 길이가 nn인 수열 BB에 이상한 섞기 연산을 수행한 뒤 원소 11이 있는 인덱스 jj를 별도의 줄에 출력하세요.

힌트

본 문제에서 22의 거듭제곱수는 2k2^k 꼴로 표현했을 때 kk가 음이 아닌 정수가 되는 수로 정의됩니다.

예제1

  1. 예제 1

    입력
    2
    1
    3
    
    예상 출력
    1
    3