#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define testCase ll t; cin >> t; while (t--)
#define Iread ll n; cin >> n; for (ll i = 0; i < n; i++)
#define loop(n) for (ll i = 0; i < n; i++)
#define dbloop(n, m) for (ll i = 0; i < n; ++i) for (ll j = 0; j < m; ++j)
#define dloop(n) for (ll i = 0, j = n - 1; i < j; ++i, --j)
#define arr(n) ll arr[n]
#define vi vector<ll>
#define ain(arr, n) for (ll i = 0; i < n; ++i) {cin >> arr[i]; }
#define vin(v) for (auto& i : v) cin >> i;
#define prnt(n) for (const auto& i : n) { cout << i << " "; } cout << "\n";
#define endl "\n"
// vi prime;
// void sv() {
// vi primes(102,1);
// primes[0] = primes[1] = 0;
// for (ll i = 2; i * i <= 101; i++) {
// if (primes[i]) {
// for (ll j = i * i; j <= 101; j+=i) {
// primes[j] = 0;
// }
// }
// }
// for (ll i = 2; i <= 101; i++) {
// if(primes[i]) prime.push_back(i);
// }
// }
//2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101
int main() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
//start
vi prime = {2,3,5,7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53 ,59 ,61, 67, 71, 73, 79, 83, 89, 97};
testCase {
//sv();
//prnt(prime);
// if (x == 1) {
// cout << "-1" << endl;
// continue;
// }
// for (ll i = 1; i <= 100; i++) {
// if (i % x != 0 && i % y != 0) ans = i;
// }
ll x,y; cin >> x >> y;
ll ans = -1;
for (ll i = 0; i < prime.size(); i++) {
if (prime[i] % x != 0 && prime[i] % y != 0) {
ans = prime[i];
break;
}
}
(ans == -1) ? cout << "-1\n" : cout << ans << endl;
}
}