우니는 오늘 학교에서 양의 정수에 대해 배웠다.
에띠는 우니에게 다음과 같은 네 가지 연산을 가르쳐주었다.
- 양의 정수에 1을 더한다. (즉, )
- 양의 정수에서 1을 뺀다. (즉, )
- 양의 정수에 자기 자신을 곱한다. (즉, )
- 양의 정수 가 있을 때, 인 양의 정수 가 존재한다면, 그 값으로 바꾼다. (즉, )
단, 연산 이후 결과가 양의 정수가 되는 경우에만 연산을 할 수 있다.
네 가지 연산을 가르쳐 준 이후 에띠는 우니에게 이런 질문을 했다.
양의 정수 에 네 가지 연산을 적절히 하여 양의 정수 를 만들 때, 필요한 최소 연산 횟수는 몇 번일까?
우니를 도와 에띠가 물은 질문에 답을 하는 프로그램을 작성하시오.
입력 형식
첫 줄에 에띠가 한 질문의 수를 나타내는 정수 가 주어진다.
이어지는 개의 줄의 각 줄에 질문에 대한 정보를 나타내는 두 정수 와 가 공백으로 구분되어 주어진다.
출력 형식
번째 줄에 번째 질문에 대한 답을 출력한다.
예제
입력
3 12 34 35 2 100 101
출력
9 5 1
예제 설명
첫 번째 질문에서, 와 같이 연산하면, 에 번의 연산을 하여 를 만들 수 있다.
두 번째 질문에서, 와 같이 연산하면, 에 번의 연산을 하여 를 만들 수 있다.
채점 방식
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 31점
종류 2: 41점
종류 3: 28점
추가적인 제한 조건이 없음.
해설
연산은 모두 복구 가능하므로, 수를 , 에서 같은 수가 될 때까지 줄여나간다는 방식으로 접근합니다.