from fractions import gcd
n,k=map(int,raw_input().split())
ans=1;

def rec(cur,rem,v):
	global ans
	if v>ans:
		ans=v
	if cur==0 or rem==0:
		return
	#choose cur
	if v*(cur**rem) <= ans:
		return;
	if gcd(v,cur) == 1:
		rec(cur-1,rem-1,v*cur)
	#don't choose cur
	rec(cur-1,rem,v)

def isprime(x):
	i=2
	while i*i<=x:
		if x%i == 0:
			return False;
		i+=1
	return True;

cur,rem=n,k;
ans=1;
while cur>1 and rem>0:
	if isprime(cur):
		ans*=cur;
		rem-=1;
	cur-=1;

rec(n,k,1);
print ans%(int(1e9+7));
