유리수 수열
시간 제한1초메모리 제한256 MB
기약분수 p/q가 Calkin-Wilf 트리의 너비 우선 순서에서 몇 번째에 나타나는지 구합니다.
문제
양의 유리수를 이름표로 갖는 무한 완전 이진 트리를 다음과 같이 정의한다.
- 루트의 이름표는 이다.
- 이름표가 인 노드의 왼쪽 자식은 이다.
- 이름표가 인 노드의 오른쪽 자식은 이다.
트리의 윗부분은 다음 그림과 같다.

수열 는 이 트리를 레벨 순서로(너비 우선으로) 순회해서 얻는다. 그림의 가는 점선이 순회 순서를 나타낸다. 즉 , , , , , 과 같이 이어진다.
와 가 주어질 때 인 을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 데이터 집합의 개수 가 주어진다. () 각 데이터 집합은 서로 독립이며 모두 같은 방식으로 처리한다.
다음 개의 줄에 데이터 집합이 한 줄씩 주어진다. 각 줄은 데이터 집합 번호 , 공백 하나, 분자 , 슬래시(/), 분모 로 이루어진다. 주어지는 분수는 모두 기약분수이므로 트리에 정확히 한 번 나타난다.
출력
데이터 집합마다 한 줄씩 출력한다. 데이터 집합 번호 , 공백 하나, 를 만족하는 을 차례로 출력한다. 이 부호 있는 32비트 정수에 들어가도록 입력이 주어진다.