#include #include #include #include using namespace std; #define llu long long int const int zecela8 = 100000003; bitset< zecela8 > v(0); vector< llu > primesofa; llu a,b; int main() { for(int i = 3 ; i*i <= zecela8 ; i ++) if(v[i] == 0) for(int j = i*i ; j <= zecela8 ; j += 2*i ) v[j] = 1; cin >> a >> b; if( 2 <= a && a%2 == 0) primesofa.push_back(2); for(int i = 3 ; i <= zecela8 ; i+= 2) if (v[i] == 0 && i <= a && a%i == 0) primesofa.push_back(i); while(b>a) { bool ok = false; for(int prime:primesofa) if(b%prime == 0) { ok = true; break; } if(ok == false) break; else b--; } if(b == a) cout<<"-1"; else cout<