문제 B: 3n+1 문제

문제 B: 3n+1 문제

실행시간 제한: 1 Sec  메모리사용 제한: 128 MB
제출: 194  통과: 102
[제출] [채점기록] [묻고답하기] [만든사람:]

문제 설명

임의의 양의 정수 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을 나란히 출력하는 프로그램을 작성하자.

입력 설명

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

출력 설명

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

입력 예시 Copy

2
10 1
100 200

출력 예시 Copy

20 1
125 8