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 itertools import accumulate

MOD = 10**9 + 7

N, K = map(int, input().split())

def N2sqrtN(N):
    M = int(N**0.5)
    As = list(range(1, M+1))
    Bs = [N//A for A in reversed(As)]
    if As[-1] == Bs[0]:
        return As + Bs[1:]
    else:
        return As + Bs

Bs = N2sqrtN(N)
lenB = len(Bs)

nums = [1]
for i in range(lenB-1):
    nums.append(Bs[i+1]-Bs[i])

dp = [0] * lenB
dp[0] = 1
for i in range(1, K+1):
    dp = list(accumulate(dp))
    dp = [dpi*num%MOD for dpi, num in zip(reversed(dp), nums)]

print(sum(dp) % MOD)