N,K = gets.split.map &:to_i
Mod = 10**9 + 7

a = N
s = []
si = []
ss = []
while 0 < a do
  x = N/a
  b = (1...a).bsearch{ |y| N/y == x }
  s << x
  si << (b || a)
  ss << a
  a = (b || a) - 1
end

dp = (0...K).map{ Array.new(s.size, 0) }
(0...s.size).each{ |i| dp[0][i] = ss[i] - si[i] + 1 }
(1...K).each{ |k|
  tt = [0]
  dp[k-1].each{ |x| tt << (tt[-1] + x) % Mod }
  (0...s.size).each{ |i|
    dp[k][i] = (dp[k][i] + tt[-1] - tt[i]) % Mod
  }
  (0...s.size).each{ |i| dp[k][i] = dp[k][i] * dp[0][s.size-1-i] % Mod }
  dp[k].reverse!
}

p dp[-1].reduce{ |a,b| (a + b) % Mod }
