정수론 싫어
시간 제한1초메모리 제한128 MB
100만 미만의 각 구간 [L, U]마다 모든 부분 구간 [a, b]에서 소인수 개수로 만든 점수의 최댓값을 구한다.
문제
정수론 중간고사가 끝났지만, 하필 공부하지 못한 오일러 피 함수()에서만 문제가 나와 곤란해진 한 학생이 직접 자신만의 Totient 함수를 정의하기로 했다.
인 정수에 대해, 을 곱이 이 되는 감소하지 않는 소수들의 리스트로 정의한다. 예를 들어 , , 이다. 은 의 길이, 즉 중복을 포함한 소인수의 개수이다. 따라서 , , 이다.
이제 양의 정수 에 대해 을 다음과 같이 정의한다.
다음 표는 의 처음 개 값이다.
인 두 양의 정수 , 에 대해 Totient 함수 를 다음과 같이 정의한다.
예를 들어 , , 이다.
구간 가 주어졌을 때, 를 만족하는 , 중에서 의 최댓값을 구하는 프로그램을 작성하시오. 예를 들어 구간 에서 최댓값은 이며, 이는 에서 얻어진다.
입력
입력은 여러 개의 테스트 케이스로 이루어지며, 테스트 케이스의 수는 최대 개이다. 각 테스트 케이스는 한 줄에 두 정수 과 로 주어진다. ()
입력의 마지막 줄에는 이 두 개 주어지며, 이 줄은 처리하지 않는다.
출력
각 테스트 케이스마다 한 줄씩, 구간 에서 얻을 수 있는 의 최댓값을 출력한다. 각 줄은 <테스트 케이스 번호>. <최댓값> 형식으로 출력하며, 테스트 케이스 번호는 부터 순서대로 매긴다.