Problem:
Score : 600 points

Problem Statement

Find the number of sequences of length K consisting of positive integers such that the product of any two adjacent elements is at most N, modulo 10^9+7.

Constraints

1\leq N\leq 10^9

1 2\leq K\leq 100 (fixed at 21:33 JST)

N and K are integers.

Input

Input is given from Standard Input in the following format:

N K

Output

Print the number of sequences, modulo 10^9+7.

Sample Input 1

3 2

Sample Output 1

5

(1,1), (1,2), (1,3), (2,1), and (3,1) satisfy the condition.

Sample Input 2

10 3

Sample Output 2

147

Sample Input 3

314159265 35

Sample Output 3

457397712

Solution in PHP7 (7.0.15) (judge verdict: Accepted)

<?php
fscanf(STDIN, "%d%d", $N, $K);
define("MOD", 10**9+7);
for($i = 1; $i**2 <= $N; $i++){
  $map[$i] = true;
  $map[$N/$i] = true;
}
ksort($map);
$prev = 0;
foreach($map as $k=>$_){
  $dp[1][$k] = $k - $prev;
  $prev = $k;
}
ksort($dp[1]);
for($i = 2; $i <= $K; $i++){
  $sum = 0;
  foreach($dp[$i-1] as $k => $c){
    $sum+=$c;
    $sum2[] = $sum;
  }
  foreach($dp[$i-1] as $k => $c){
    $dp[$i][$k] = array_pop($sum2)*$dp[1][$k] % MOD;
  }
}
printf("%d", array_sum($dp[$K])%MOD);