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:
import os
import sys
from collections import defaultdict

if os.getenv("LOCAL"):
    sys.stdin = open("_in.txt", "r")

sys.setrecursionlimit(2147483647)
INF = float("inf")
IINF = 10 ** 18

MOD = 10 ** 9 + 7
N, K = list(map(int, sys.stdin.readline().split()))

# ある程度数をまとめられるのでまとめておく
nexts = []
n = N
while True:
    p = int(N // (int(N // n) + 1))
    nexts.append(n)
    if p <= 0:
        break
    n = p

# dp[k][i]: i に続く k 文字のパターン数
dp = defaultdict(lambda: defaultdict(int))
prev = 0
for n, m in zip(nexts, reversed(nexts)):
    dp[0][m] = m
for k in range(1, K):
    dp[k][0] = 0
    prev = 0
    for n, m in zip(nexts, reversed(nexts)):
        dp[k][m] = (dp[k][prev] + dp[k-1][n] * (m-prev)) % MOD
        prev = m
print(dp[K - 1][N])