분할 정복
시간 제한1초메모리 제한128 MB
M 이상 N 이하의 정수 중 약수가 가장 많은 수를 고르고, 그런 수가 여러 개면 가장 큰 수를 골라 약수 개수와 함께 출력한다.
문제
두 정수 과 이 주어진다 (). 다음 조건을 모두 만족하는 정수 와 를 구하여라.
- A.
- B. 는 의 약수의 개수이다.
- C. 는 가능한 한 크다.
- D. (조건 C를 만족하는 것 중에서) 는 가능한 한 크다.
즉, 구간 에 속하는 정수 중에서 약수의 개수가 가장 많은 정수를 로 하고, 그러한 정수가 여러 개라면 그중 가장 큰 것을 택한다. 는 그때의 약수의 개수이다.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 두 정수 과 ()이 공백으로 구분되어 한 줄에 주어진다. 인 줄은 입력의 끝을 의미하며, 이 줄은 처리하지 않는다.
입력은 표준 입력으로 주어진다.
출력
각 테스트 케이스마다 두 정수 와 를 공백으로 구분하여 한 줄에 출력한다.
출력은 표준 출력으로 쓴다.