#2082 The Upgraded 3n+1 Problem

51  1 s   128 MB  

Description

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

임의의 양의 정수 i, j 가 주어질 때 i와 j 사이(i, j 포함)에 포함된 정수들 중에 m이 가장 커지는 정수값과 그 때의 m값, 그리고 m이 가장 작아지는 정수값과 그 때의 m값을 차례로 출력하는 프로그램을 작성하자.

Input

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

Output

입력된 각 테스트 케이스 별로 한 줄에 하나씩 m이 가장 커지는 정수값, 그 때의 m값, m이 가장 작아지는 정수값, 그 때의 m값 4개를 하나의 공백으로 구분하여 순서대로 출력한다.

Sample Input

Sample Output

2
10 1
100 200
9 20 1 1
171 125 128 8

Source

동의대학교 멀티미디공학과 우영운(2013년 4월 23일)