from math import gcd n, k = map(int, input().split()) F = [[] for _ in range(n)] for i in range(1, n): j = 1 while j * j <= i: if i % j != 0: j += 1 continue F[i].append(j) if j * j != i: F[i].append(i // j) j += 1 N = [1 for _ in range(n)] N[1] = 0 i = 2 while i * i < n: if N[i] != 1: i += 1 continue for j in range(i * 2, n, i): N[j] = N[i] + N[j // i] i += 1 max_, ans = 0, 0 for i in range(1, n): if N[gcd(i, n)] >= k and len(F[i]) > max_: ans = i max_ = len(F[i]) print(ans)