신성한 약수
시간 제한3초메모리 제한128 MB
곱이 N이 되는 n개의 수가 주어질 때, 어떤 약수의 최대 중복도와 그 중복도를 달성하는 약수의 개수를 구한다.
문제
인 정수가 주어진다. 정수 에 대해, 이면서 을 만족하는 양의 정수 가 존재할 때 "는 의 중복도가 인 약수"라고 한다. 예를 들어 의 경우 는 중복도가 인 약수, 은 중복도가 인 약수, 는 중복도가 인 약수, 은 중복도가 인 약수이다.
가 의 중복도가 인 약수이면서 의 모든 약수 중 보다 큰 중복도를 가지는 약수가 없을 때, 를 의 신성한 약수라고 한다. 다시 말해 신성한 약수는 의 모든 약수가 가지는 중복도의 최댓값을 달성하는 약수이다. 예를 들어 의 신성한 약수는 (중복도 ) 하나뿐이고, 의 신성한 약수는 , , (각각 중복도 )이다.
의 모든 약수가 가지는 중복도의 최댓값 와 의 신성한 약수의 개수를 구하라.
입력
은 다소 특이한 방식으로 주어진다. 첫 번째 줄에는 정수 ()이 주어진다. 두 번째 줄에는 개의 정수 ()이 공백 하나로 구분되어 주어진다. 이들은 을 뜻한다.
출력
두 줄을 출력한다. 첫 번째 줄에는 의 어떤 약수 이 을 만족하도록 하는 가장 큰 정수 를 출력한다. 두 번째 줄에는 의 신성한 약수의 개수, 즉 중복도가 인 약수의 개수를 출력한다. 이 값은 매우 커질 수 있으므로 정확한 정수로 출력한다.