program small_products
  implicit none
  integer(8), parameter :: md = 1000000007_8
  integer :: n, k, m, i, j
  integer(8) :: dp1(100,35000), dp2(100,35000), s1(0:35000), s2(35000)
  dp1 = 0_8
  dp2 = 0_8
  s1 = 0_8
  s2 = 0_8
  read(*,*) n, k
  m = ceiling(sqrt(real(n,8)))
  if (m*m.gt.n) m = m-1
  do j = 1, m
    dp1(1,j) = 1_8
    dp2(1,j) = int(n/j-n/(j+1),8)
  end do
  if (m*m.eq.n) dp2(1,m) = 0_8
  do i = 2, k
    s1(0:m) = 0_8
    s2(1:m+1) = 0_8
    do j = 1, m
      s1(j) = mod(s1(j-1)+dp1(i-1,j),md)
    end do
    do j = m, 1, -1
      s2(j) = mod(s2(j+1)+dp2(i-1,j),md)
    end do
    do j = 1, m
      dp1(i,j) = mod(s1(m)+s2(j),md)
      dp2(i,j) = mod(s1(j)*dp2(1,j),md)
    end do
  end do
  write(*,'(i0)') mod(sum(dp1(k,1:m)+dp2(k,1:m)),md)
  stop
end program small_products