def root(n)
    ret = Math.sqrt(n).floor
    ret -= 1 while ret**2 > n
    ret += 1 while(ret+1)**2 <= n
    ret
end

MOD = 10**9+7
N, K = gets.split.map(&:to_i)
Q = root(N)

num = Array.new(Q+1)
(1...Q).each do |i|
    num[i] = N/i - N/(i+1)
end
num[Q] = N/Q - Q

dp1 = Array.new(K+1){Array.new(Q+1, 0)}
dp2 = Array.new(K+1){Array.new(Q+1, 0)}
dp1[0][1] = 1
K.times do |i|
    sum = dp1[i].inject(0){|a, b| (a+b) % MOD}
    (1..Q).each do |j|
        dp1[i+1][j] = sum
    end

    sum = 0
    Q.downto(1) do |j|
        sum = (sum + dp2[i][j]) % MOD
        dp1[i+1][j] = (dp1[i+1][j] + sum) % MOD
    end

    sum = 0
    (1..Q).each do |j|
        sum = (sum + dp1[i][j]) % MOD
        dp2[i+1][j] = (dp2[i+1][j] + sum * num[j]) % MOD
    end
end

ans = (dp1[K] + dp2[K]).inject(0){|a, b| (a+b) % MOD}
puts ans