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

a = Hash.new{|h, k| h[k] = [0, 0]}
(1..Math.sqrt(N).floor).each{|i|
  a[i] = [N / i, 0]
  a[N / i] = [i, 0]
}
a = a.sort.to_h
b = 0
a.each{|k, v|
  next if k == 0
  v[1] = k - b
  a[k] = v
  b = k
}

bef = Hash.new
nxt = a.dup.map{|k, v| [k, 0]}.to_h
bef[1] = 1
K.times{|c|
  b = 0
  bef.each{|k, v|
    b += v
    nxt[a[k][0]] = (b * a[k][1]) % MOD
  }
  bef = nxt.dup.sort.reverse
  nxt.map{|k, v| [k, 0]}.to_h if c < K - 1
}

ans, b = [0, 0]
nxt.sort.reverse.each{|k, v|
  b += v
  ans += (b * a[k][1] % MOD)
}

puts ans % MOD
