str = gets.split
N,K = str[0].to_i, str[1].to_i
mod = 1000000007

a = Array.new(0)
b = Array.new(0)
size = 0

i = 1
while i <= N/i
    a.push(i)
    b.push(N/i)
    i += 1
end
i = 0
size = a.size
if a[a.size-1] == b[b.size-1]
    i += 1
end
while i < size
    a.push(b[size-1-i])
    b.push(a[size-1-i])
    i += 1
end

c = Array.new(a.size,1)
for x in 1...c.size do
    c[x] = a[x] - a[x-1]
end

d = Array.new(2){Array.new(a.size)}
for x in 0...a.size do
    d[0][x] = a[x]
end
for x in 1...K do
    d[x%2][0] = d[(x-1)%2][a.size-1]
    for y in 1...a.size do
        d[x%2][y] = (d[x%2][y-1] + d[(x-1)%2][a.size-1-y] * c[y]) % mod
    end
end

puts d[(K-1)%2][a.size-1]