#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define fi first #define se second #define mp make_pair #define rep(i, n) for(int i=0;i=0;--i) const int inf=1e9+7; const ll mod=1e9+7; const ll big=1e18; const double PI=2*asin(1); int main() { bool prime[5000005]; for(int i=0;i<5000005;++i) prime[i] = true; prime[0] = false; prime[1] = false; for(int i=2;i<5000005;++i) { if(!prime[i]) continue; for(int j=2;i*j<5000005;++j) { prime[i*j] = false; } } int T; cin>>T; ll A, P; for(int j=0;j>A>>P; if(!prime[P]) { cout<<-1<