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 C# (Mono 4.6.2.0) (judge verdict: Runtime Error)

using System;
using System.Linq;//リストの使用
using System.Collections.Generic;
using System.Text;//テキストの高速出力に必要
class Program
{
	static void Main()
	{
		string[] input = Console.ReadLine().Split(' ');
		long n = long.Parse(input[0]);
		int k = int.Parse(input[1]);
		long mod = 1000000007;
    long[,] dp = new long[k+2,100001];//i個見て最後の数がjの方法の個数
    long[] partnerCount = new long[100001];
    for(int i = 1; i <= n; i++)
    {
      partnerCount[i] = (n/i)%mod;
    }

    for(int i = 1; i <= Math.Min(100000,n); i++) dp[1,i] = 1;

    for(int i = 1; i <= k; i++)
    {
      for(int j = 1; j <= Math.Min(100000,n); j++)
      {
        for(int a = 1; a <= partnerCount[j]; a++)
        {
          dp[i+1,a] += dp[i,j];
          dp[i+1,a] %= mod;
          //Console.WriteLine((i+1)+" "+a+" "+dp[i+1,a]);
        }
      }
    }

		Console.WriteLine(dp[k+1,1]);
	}
}