유리수 수열
면접 대비시간 제한2초메모리 제한512 MB
각 노드 p/q의 왼쪽 자식이 p/(p+q), 오른쪽 자식이 (p+q)/q인 이진 트리를 너비 우선으로 읽을 때, 주어진 p/q가 몇 번째인지 구한다.
문제
무한히 많은 노드로 이루어진 이진 트리의 각 노드에 다음 규칙으로 유리수를 붙인다.
- 루트의 값은 이다.
- 어떤 노드의 값이 이면 왼쪽 자식의 값은 , 오른쪽 자식의 값은 이다.

이 트리를 너비 우선으로 방문하되 같은 깊이에서는 왼쪽부터 오른쪽으로 방문해서 유리수 수열 를 만든다. 그러면 , , , , 가 된다.
와 가 주어지면 인 정수 을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. ()
다음 개의 줄에 테스트 케이스가 한 줄에 하나씩 주어진다. 각 줄은 , 문자 /, 를 공백 없이 이어 붙인 형태이다. 주어지는 는 항상 트리에 나타나는 값이고, 모든 테스트 케이스에서 답 은 32비트 정수 범위에 들어간다.
출력
각 테스트 케이스마다 를 만족하는 정수 을 한 줄에 하나씩 출력한다.