만드는 중입니다

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

팩토리얼과 점화식

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

요약
주어진 점화식으로 정의된 S(N,K)의 약수 개수를 1,000,000,009로 나눈 나머지로 구한다.
난이도

보통10점 중 7점

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

문제

S(n,k)S(n, k)를 다음과 같이 정의한다.

  • n=0n = 0이면 S(n,k)=1S(n, k) = 1
  • k=0k = 0이면 S(n,k)=nS(n, k) = n
  • 나머지 경우에는 S(n,k)=S(n,k−1)×S(n−1,k)S(n, k) = S(n, k-1) \times S(n-1, k)

규칙은 위에서부터 차례로 적용한다.

예를 들어 S(7,1)=7!S(7, 1) = 7!이고, S(5,3)=S(5,2)×S(4,3)=S(5,1)×S(4,2)×S(4,3)S(5, 3) = S(5, 2) \times S(4, 3) = S(5, 1) \times S(4, 2) \times S(4, 3)이다.

NN과 KK가 주어질 때 S(N,K)S(N, K)의 약수의 개수를 구한다.

입력

첫째 줄에 NN과 KK가 공백을 사이에 두고 주어진다. (1≤N≤10001 \le N \le 1000, 1≤K≤1001 \le K \le 100)

출력

첫째 줄에 S(N,K)S(N, K)의 약수의 개수를 1,000,000,009로 나눈 나머지를 출력한다.

예제3

  1. 예제 1

    입력
    3 1
    
    예상 출력
    4
    
  2. 예제 2

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

    입력
    4 2
    
    예상 출력
    18