만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

사탕 나누기

시간 제한2초메모리 제한64 MB

요약
구간 [A,B]의 각 X에 대해 균등 분할 수는 X의 약수 개수와 같으므로, 약수가 가장 많은 X와 그 개수를 구해 모두 출력한다.
난이도

보통10점 중 6점

유형
정수론, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

이비차는 친구를 모두 큰 파티에 초대했다. 파티에 사탕이 빠지면 분위기가 살지 않는다.

사탕이 모자랄까 걱정한 이비차는 AA개보다 적게 사지는 않으려고 한다. 가진 돈으로는 최대 BB개까지 살 수 있다. 친구가 모두 오지는 않으니 이비차는 파티에 몇 명이 올지 모른다. 그래서 사 온 사탕을 똑같이 나누는 방법이 가장 많아지는 개수를 사려고 한다. 똑같이 나눈다는 것은 나누어 받는 친구가 모두 같은 개수를 받고 사 온 사탕이 하나도 남지 않는다는 뜻이다. 예를 들어 사탕 66개를 사면 똑같이 나누는 방법이 1+1+1+1+1+11+1+1+1+1+1, 2+2+22+2+2, 3+33+3, 66의 네 가지다.

이비차가 사탕을 몇 개 사야 하는지 알려 주는 프로그램을 작성하시오.

입력

첫째 줄에 자연수 AA와 BB가 공백 하나로 구분되어 주어진다. (1≤A≤B≤2 000 0001 \le A \le B \le 2\,000\,000)

출력

사 온 사탕을 똑같이 나누는 방법의 최대 개수를 MM이라고 하자. 구간 [A,B][A, B]에 속하는 정수 XX 중에서 사탕 XX개를 똑같이 나누는 방법이 정확히 MM가지인 것을 모두 모은 집합을 SS라 하고, SS의 원소 개수를 NN이라고 하자.

첫째 줄에 MM과 NN을 공백 하나로 구분해 출력한다. 이어지는 NN개의 줄에 SS의 원소를 한 줄에 하나씩 작은 것부터 차례로 출력한다.

예제3

  1. 예제 1

    입력
    1 10
    
    예상 출력
    4 3
    6
    8
    10
    
  2. 예제 2

    입력
    13 15
    
    예상 출력
    4 2
    14
    15
    
  3. 예제 3

    입력
    9125 1912412
    
    예상 출력
    288 4
    1441440
    1663200
    1801800
    1884960