Problem: 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.

Examples

Input

3 2


Output

5


Input

10 3


Output

147


Input

314159265 35


Output

457397712

Solution (in PYTHON3):

Solution:

"""
右におけるのが同じやつなら同一で扱う
普通なら√N * √Nになっちゃう


"""

N,K = map(int,input().split())
mod = 10 ** 9 + 7

lis = []
lis2 = []

i = 1
while i ** 2 <= N:

    if N // i != i:
        lis.append(i)
        lis2.append(N // i)
    else:
        lis.append(i)

    i += 1

lis2.reverse()
lis += lis2


dp = [0] * len(lis)

for i in range(len(lis)):
    if i == 0:
        dp[i] = 1
    else:
        dp[i] = lis[i]-lis[i-1]

#print (dp)

for loop in range(K):

    ndp = [0] * len(lis)
    nsum = 0
    
    for i in range((len(lis))):

        nsum += dp[i]
        nsum %= mod

        if i != len(lis)-1:
            ndp[-1-i] += ((lis[-1-i] - lis[-2-i]) * nsum) % mod
        else:
            ndp[-1-i] += nsum % mod

    dp = ndp

print (dp[0])