

ds=gets.split(" ").map{|e| e.to_i}
n=ds[0]
k=ds[1]
mod=10**9+7
arr=[0]
i=1
while i*i<=n
	arr<<i
	if i*i<n
		arr<<n/i
	end
	i=i+1
end
arr.sort!.reverse!
arr2=[]
(arr.size-1).times{|e|
	arr2<<[arr[e],(arr[e]-arr[e+1])%mod]
}
arr2<<[0,0]
(k-1).times{
	arr3=[]
	sum=0
	(arr2.size).times{|i|
		sum=(sum+arr2[i][1])%mod
	}
	(arr2.size-1).times{|i|
		p1=arr2.size-i-2
		p2=i
		arr3.unshift([arr2[p1][0],(sum*(arr2[p1][0]-arr2[p1+1][0]))%mod])
		sum=(sum+mod-arr2[p2][1])%mod
	}
	arr2=arr3<<([0,0])
}
ans=0
arr2.each{|t| ans=(ans+t[1])%mod}
p ans