#yuki811 import math,collections def prime_list(x): primes=[] for i in range(2,math.ceil(math.sqrt(x))+1): while x%i==0: primes.append(i) x//=i if x>1: primes.append(x) return primes def factors(x): res = 1 for v in collections.Counter(prime_list(x)).values(): res*=v+1 return res n,k=map(int,input().split()) dic=collections.defaultdict(list) for m in range(2,n): if len(prime_list(math.gcd(m, n)))>=k: dic[factors(m)].append(m) print(min(dic[max(dic)]))