Problem B: 3n+1 문제

Problem B: 3n+1 문제

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 246  Solved: 127
[Submit] [Status] [Web Board] [Creator:]

Description

임의의 양의 정수 n에 대하여 그 값이 홀수이면 3*n+1로 계산하고, 짝수이면 2로 나누는 과정을 결과값이 1이 될 때까지 반복할 경우 n부터 1이 될 때까지 생성된 수열의 길이(항의 개수)를 m이라고 하자.

예를 들어, n이 22인 경우 이 규칙에 따라 생성되는 수열은 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 이며 이때 m은 16이 된다.



임의의 양의 정수 i, j 가 주어질 때 i와 j 사이(i, j 포함)에 포함된 모든 정수들로 각각 m을 계산하였을 때, 가장 큰 값의 m과 가장 작은 값의 m을 나란히 출력하는 프로그램을 작성하자.

Input

첫 줄에는 테스트 케이스 수 T가 입력된다.(1 <= T <= 10) 다음 줄부터 T개의 양의 정수i, j (1 <= i, j <= 100,000) 가 입력된다.

Output

입력된 각 테스트 케이스 별로 가장 큰 m과 가장 작은 m을 하나의 공백으로 구분하여 한 줄에 하나씩 출력한다.

Sample Input Copy

2
10 1
100 200

Sample Output Copy

20 1
125 8