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

a = []
(1..Math.sqrt(N).floor).each{|i|
  a << [i, 0]
  a << [N / i, 0] if N / i != i
}
a = a.sort{|a, b| b[0] <=> a[0]}
b = 0
(a.size - 1).downto(0){|i|
  a[i][1] = a[i][0] - b
  b = a[i][0]
}
z = a.map{|e| e[1]}

bef = a.map{|e| [e[0], 0]}
bef[-1] = [1, 1]
K.times{|c|
  b = 0
  nxt = []
  bef.each_with_index{|e, idx|
    b = (b + e[1]) % MOD
    nxt.unshift([N / e[0], (b * z[idx]) % MOD])
  }
  bef = nxt
}

ans, b = [0, 0]
bef.sort{|a, b| b[0] <=> a[0]}.each_with_index{|e, idx|
  b += e[1]
  ans = (ans + b * a[idx][1]) % MOD
}

puts ans
