아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Six

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

요약
N은 서로 다른 소인수를 최대 여섯 개 가진다. 새로 쓰는 약수가 이미 쓴 수 중 많아야 하나와 1보다 큰 공약수를 가질 때, 만들 수 있는 약수 나열의 개수를 1e9+7로 나눈 나머지를 구한다.
난이도

어려움10점 중 8점

유형
조합론, 수학, 정수론, 동적 계획법
정답자
아직 제출이 없습니다

문제

엘리는 정수 NN의 성질을 조사한다. 지금까지 알아낸 사실은 NN의 서로 다른 소인수가 여섯 개를 넘지 않는다는 것이다. 소수는 1보다 큰 자연수 중에서 1과 자기 자신 말고는 양의 약수가 없는 수다.

엘리는 빈 목록에서 시작해 NN의 약수 중 1보다 큰 수를 하나씩 적는다. 같은 약수를 여러 번 적어도 된다. 새로운 수를 적을 때는 이미 적어 둔 수 가운데 그 수와 1보다 큰 공약수를 갖는 것이 많아야 하나가 되도록 한다.

예를 들어 N=12156144N = 12156144이면 (42), (616, 6, 91, 23), (91, 616, 6, 23), (66, 7), (66, 7, 7, 23, 299, 66), (143, 13, 66), (42, 12156144)은 모두 엘리가 만들 수 있는 목록이다. 5는 12156144의 약수가 아니므로 (5, 11)은 올바르지 않고, 143은 13과도 66과도 1보다 큰 공약수를 가지므로 (66, 13, 143)도 올바르지 않다.

엘리가 적을 수 있는 올바른 목록이 몇 개인지 세어라. 두 목록은 길이가 다르거나 같은 자리에 다른 수가 놓이면 서로 다른 것으로 센다. 엘리는 수를 적어도 하나는 적으므로 빈 목록은 세지 않는다.

입력

첫째 줄에 정수 NN이 주어진다.

출력

엘리가 적을 수 있는 서로 다른 목록의 개수를 1 000 000 0071\,000\,000\,007로 나눈 나머지를 한 줄에 출력한다.

제한

  • 1≤N≤10151 \le N \le 10^{15}
  • NN의 서로 다른 소인수는 여섯 개 이하다.

힌트

N=6N = 6일 때 올바른 목록 28개는 다음과 같다.

{(2), (2, 2), (2, 2, 3), (2, 2, 3, 3), (2, 3), (2, 3, 2), (2, 3, 2, 3), (2, 3, 3), (2, 3, 3, 2), (2, 6), (2, 6, 3), (3), (3, 2), (3, 2, 2), (3, 2, 2, 3), (3, 2, 3), (3, 2, 3, 2), (3, 3), (3, 3, 2), (3, 3, 2, 2), (3, 6), (3, 6, 2), (6), (6, 2), (6, 2, 3), (6, 3), (6, 3, 2), (6, 6)}

N=12156144N = 12156144일 때 목록의 개수는 14104757650이고, 이를 1 000 000 0071\,000\,000\,007로 나눈 나머지는 104757552다.

예제4

  1. 예제 1

    입력
    6
    
    예상 출력
    28
    
  2. 예제 2

    입력
    203021
    
    예상 출력
    33628
    
  3. 예제 3

    입력
    60357056536
    
    예상 출력
    907882
    
  4. 예제 4

    입력
    12156144
    
    예상 출력
    104757552