만드는 중입니다

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

약수

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

요약
n의 약수 k개를 오름차순으로 고르는 경우의 수를 구합니다. 인접한 두 수는 서로소이고, 전체 곱은 n 이하여야 합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 정수론, 백트래킹
정답자
아직 제출이 없습니다

문제

자연수 aa가 자연수 bb의 약수라는 것은, 어떤 자연수 cc가 있어 b=acb = ac가 성립한다는 뜻이다. 예를 들어 6의 약수는 1, 2, 3, 6이다. 두 수가 1 이외에 공통된 약수를 갖지 않으면 두 수를 서로소라고 한다. 예를 들어 16과 27은 서로소이고, 18과 24는 서로소가 아니다.

kk개의 수로 이루어진 (a1,a2,…,ak)(a_1, a_2, \dots, a_k)가 다음 조건을 모두 만족하면 이를 정규 집합이라고 한다.

  1. 각 aia_i는 nn의 약수이다.
  2. a1<a2<⋯<aka_1 < a_2 < \dots < a_k이다.
  3. 1≤i≤k−11 \le i \le k-1인 모든 ii에 대해 aia_i와 ai+1a_{i+1}은 서로소이다.
  4. 곱 a1a2⋯aka_1 a_2 \cdots a_k는 nn을 넘지 않는다.

예를 들어 (2,9,10)(2, 9, 10)은 360의 약수로 이루어진 3개짜리 정규 집합이다.

nn과 kk가 주어질 때, nn의 약수로 이루어진 kk개짜리 정규 집합의 개수를 구하라.

입력

첫째 줄에 두 정수 nn, kk가 주어진다 (2≤n≤1082 \le n \le 10^8, 2≤k≤102 \le k \le 10).

출력

첫째 줄에 nn의 약수로 이루어진 kk개짜리 정규 집합의 개수를 출력한다.

예제2

  1. 예제 1

    입력
    90 3
    
    예상 출력
    16
    
  2. 예제 2

    입력
    10 2
    
    예상 출력
    4