program small_products
  implicit none
  integer(8), parameter :: md = 1000000007_8
  integer :: n, k, m, i, j
  integer(8) :: dp(100,70000), s
  dp = 0_8
  read(*,*) n, k
  m = floor(sqrt(real(n,8)))
  if (m*(m+1).gt.n) then
    m = 2*m-1
  else
    m = 2*m
  end if
  do j = 1, m
    dp(1,j) = int(max(1,n/(m-j+1)-n/(m-j+2)),8)
  end do
  do i = 2, k
    s = 0_8
    do j = m, 1, -1
      s = mod(s+dp(i-1,m-j+1),md)
      dp(i,j) = s*dp(1,j)
    end do
  end do
  write(*,'(i0)') mod(sum(dp(k,1:m)),md)
  stop
end program small_products