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 sys
input = sys.stdin.readline

def I(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(map(int, input().split()))

def main():
    mod=10**9+7
    """
    末尾だけが重要，dp[i][j]でi枚目まで見て末尾がj，O(NK)
    Nが小さければ問題ない，jの部分は(N/j)の切り捨てでまとめられる．
    前半部分は1~sqrt(N)で，各組1こずつ．後半はN/i (i<=sqrt(N))
    
    """
    N,K=MI()
    M=int(N**0.5)
    cnt=[]
    
    i=1
    while i<=N:
        if i<=M:
            cnt.append(1)
            i+=1
        else:
            temp=int(N/i)
            cnt.append(int(N/temp-i+1))
            i=int(N/temp +1)
            
    N2=len(cnt)
            

    
    dp=[[0]*N2 for _ in range(K)]
    #dp[i][j]はi個見て，最後尾がグループL[j]に属す場合の数
    #j番目のグループはMーj番目までのグループと組める
    
    for j in range(N2):
        dp[0][j]=cnt[j]
        
    for i in range(K-1):
        S=[0]*(N2+1)
        for j in range(N2):
            S[j+1]=(S[j]+dp[i][j])%mod
        
        for j in range(N2):
            dp[i+1][j]=(S[N2-j]*cnt[j])%mod
            
    ans=0
    for j in range(N2):
        ans=(ans+dp[-1][j])%mod
        
    print(ans)


    
    

main()