import math n, m = map(int, input().split()) def get_divisors(n): divisors = set() for i in range(1, int(math.isqrt(n)) + 1): if n % i == 0: divisors.add(i) divisors.add(n // i) return sorted(divisors) divisors = get_divisors(n) divisors_set = set(divisors) possible_ds = [] for d in divisors: if d == n: if d <= m: possible_ds.append(d) else: if (n - d) in divisors_set and d <= m: possible_ds.append(d) if not possible_ds: print(-1) else: max_d = max(possible_ds) print(n // max_d)