분류 모자
시간 제한1초메모리 제한256 MB
학생 n이 배정받는 기숙사를 n-1의 이진수에서 1의 개수를 세어 p로 나눈 나머지로 구합니다.
문제
마법 학교는 오래전부터 마법 모자로 학생을 각 학부에 배정한다. 예전에는 학부가 4개였지만, 학교를 개편한 뒤 학부 수가 개로 바뀌었다. 모자는 지금도 학생 배정에 쓰인다.
배정 계획은 수열 로 나타낸다. 는 번 학생이 들어갈 학부다.
모자가 계획을 만드는 방법은 다음과 같다. 학부에는 부터 까지 번호가 붙어 있다. 다음 학부를 라 하면, 일 때 이고 이다. 계획은 원소가 하나뿐인 수열에서 시작한다. 한 단계를 거칠 때마다 원소가 개인 수열 는 원소가 개인 새 수열 가 된다.
학부가 4개일 때 학생 9명을 배정하는 과정을 보자. 모자는 다음 순서로 계획을 늘린다.
마지막 수열의 길이는 학생 9명을 배정하기에 충분하다. 단계를 계속 반복하면 수열은 얼마든지 길어지므로, 어떤 학생 번호든 배정 학부가 정해진다.
과 가 여러 쌍 주어진다. 학부가 개일 때 번 학생이 어느 학부에 들어가는지 구하여라. 학생 번호는 1번부터 시작한다.
입력
첫째 줄에 질의의 개수 가 주어진다 ().
다음 개의 줄에 각각 두 정수 과 가 이 순서대로 공백으로 구분되어 주어진다 (, ).
출력
개의 줄에 각 질의의 답을 입력 순서대로 출력한다. 각 줄에는 번 학생이 들어갈 학부의 번호를 출력한다.