#include <bits/stdc++.h>
using namespace std;
long long int powe(long long int d, long long int s) {
  if (s == 1)
    return d;
  else if (s == 0)
    return 1;
  else {
    long long int u, v = d;
    for (u = 1; u < s; u++) {
      d = d * v;
    }
    return d;
  }
}
bool isprime(long long int n) {
  long long int i;
  for (i = 2; i * i <= n; i++) {
    if (n % i == 0) {
      return false;
    }
  }
  return true;
}
long long int a[2000005], c[10000005];
int main() {
  map<int, int> b;
  long long int i, p, y, mx = -1, j, q;
  cin >> p >> y;
  for (i = y; i > p; i--) {
    q = 1;
    for (j = 2; j * j <= i && j <= p; j++) {
      if (i % j == 0) {
        q = 0;
        break;
      }
    }
    if (q == 1) {
      cout << i;
      return 0;
    }
  }
  cout << -1;
}
