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 Ruby (2.3.3) (judge verdict: Time Limit Exceeded)



ds=gets.split(" ").map{|e| e.to_i}
n=ds[0]
k=ds[1]
mod=10**9+7
arr=[0]
i=1
while i*i<=n
	arr<<i
	if i*i<n
		arr<<n/i
	end
	i=i+1
end
arr.sort!.reverse!
arr2=[]
arr3=[]
(arr.size-1).times{|e|
	arr2<<[arr[e],(arr[e]-arr[e+1])%mod]
	arr3<<0
}
arr2<<[0,0]
arr3<<0

(k-1).times{
	sum=0
	(arr2.size).times{|i|
		sum=(sum+arr2[i][1])%mod
		arr3[i]=arr2[i][1]%mod
	}
	
	(arr2.size-1).times{|i|
		p1=arr2.size-i-2
		p2=i
		t1=arr2[p1][0]
		t2=arr2[p1+1][0]
		
		arr2[p1][1]=(sum*(t1-t2))%mod
		
		sum=(sum+mod-arr3[p2])%mod
	}
}
ans=0
arr2.each{|t| ans=(ans+t[1])%mod}
p ans