ds=gets.split(" ").map{|e| e.to_i}
n=ds[0]
k=ds[1]
mod=10**9+7
arr=[]
i=1
while i*i<=n
	arr<<i
	if i*i<n && n/i!=i
		arr<<n/i
	end
	i=i+1
end
arr.sort!.reverse!<<0
arr2=[]
arr3=[]
arr4=[]
(arr.size-1).times{|e|
	arr2<<(arr[e]-arr[e+1])
	arr3<<0
	arr4<<arr[e]-arr[e+1]
}

arr2<<0
arr3<<0

(k-1).times{
	sum=0
	arr2.size.times{|i|
		arr3[i]=arr2[i]
	}
	
	sum=0
	(arr2.size-1).times{|i|
		p2=i
		sum=(sum+arr3[arr2.size-2-i])%mod
		arr2[p2]=(sum*arr4[p2])%mod
	}
}
ans=0
arr2.each{|t| ans=(ans+t)%mod}
p ans