from collections import defaultdict def seachPrimeNum(N): max = int(N**0.5) seachList = [i for i in range(2,N+1)] primeNum = [] while seachList[0] <= max: primeNum.append(seachList[0]) tmp = seachList[0] seachList = [i for i in seachList if i % tmp != 0] primeNum.extend(seachList) return primeNum def factorization(x): dic = defaultdict(int) for p in PL: if x in PL: dic[x] += 1 return dic while x % p == 0: dic[p] += 1 x //= p if x == 1: return dic N, K = map(int,input().split()) PL = seachPrimeNum(N) PL = set(PL) F1s = factorization(N) ans = 1 maxdiv = 1 for i in range(2,N): Fs = factorization(i) ndiv = 1 for v in Fs.values(): ndiv *= (v + 1) cnt = 0 for k,v in F1s.items(): cnt += min(Fs[k],v) if cnt < K: continue if ndiv > maxdiv: ans = i maxdiv = ndiv print(ans)