완전 이진 트리의 거리
노드가 \(2,100,000,000\)개인 완전 이진 트리가 있다. 루트 노드의 번호는 1이며, 노드의 번호는 위에서 아래로, 같은 깊이에서는 왼쪽에서 오른쪽으로 1부터 차례대로 부여된다.
1번부터 7번까지의 노드를 나타내면 다음과 같다.

두 노드 사이의 거리는 한 노드에서 다른 노드로 이동하는 최단 경로에 포함된 간선의 개수이다. 따라서 같은 노드 사이의 거리는 0이다.
예를 들어 3번 노드에서 4번 노드로 이동하는 최단 경로는 \(3 \rightarrow 1 \rightarrow 2 \rightarrow 4\)이므로 거리는 3이다. 4번 노드와 5번 노드 사이의 거리는 2이다.
두 노드 \(a\)와 \(b\)가 주어졌을 때, 두 노드 사이의 거리를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 두 노드의 번호 \(a\)와 \(b\)가 공백을 사이에 두고 주어진다.
출력
두 노드 사이의 거리를 출력한다.
제한 사항
- \(1 \le a,b \le 2,100,000,000\)
다음 문자열은 소스 코드에 포함될 수 없다.
forwhilegoto
예제 입력 1
3 4
예제 출력 1
3
예제 설명 1
\(3 \rightarrow 1 \rightarrow 2 \rightarrow 4\)의 순서로 세 개의 간선을 따라 이동할 수 있다.
예제 입력 2
4 5
예제 출력 2
2
예제 설명 2
4번 노드에서 부모인 2번 노드로 이동한 뒤 5번 노드로 이동하면 된다.
코멘트