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:
from math import sqrt
from itertools import accumulate

def inpl(): return list(map(int, input().split()))

MOD = 10**9 + 7
N, K = inpl()

p = 0
X = []
for i in range(1, int(sqrt(N))+1):
    X.append(N//i)

A = [1]*len(X) 
B = [X[-2-i] - X[-1-i] for i in range(len(X)-1)]
if sum(A) + sum(B) < N:
    C = A + [N-sum(A)-sum(B)] + B
else:
    C = A + B

DP = [c%MOD for c in C]

for _ in range(K-1):
    DP2 = [0]*len(C)
    S = [0]*len(C)
    S[0] = DP[0]*1
    for i in range(1, len(C)):
        S[i] = (S[i-1] + DP[i])%MOD

    for i in range(len(C)):
        DP2[i] = (S[-1-i]*C[i])%MOD

    DP = DP2

print(sum(DP)%MOD)