#include <bits/stdc++.h>
using namespace std;
#define ll long long int
#define endl '\n'
#define Yes cout << "YES" << endl
#define No cout << "NO" << endl
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int T; cin >> T;
while(T--)
{
int N; cin >> N;
vector <int> v (N), mp (2e5+10);
int ans = 2, even = 0;
for (int i = 0; i < N; i++) {
int x; cin >> x;
mp[x]++;
v[i] = x;
if (x % 2 == 0) even++;
if (x > 1 && mp[x] >= 2)
ans = 0;
}
for (int i = 0; i < N; i++) {
int x; cin >> x;
}
if (ans == 0 || even >= 2) {
cout << 0 << endl;
continue;
}
if (even == 1) ans = 1;
int mx = *max_element (v.begin(), v.end()) + 10;
for (int i = 2; i <= mx; i++) {
int count = 0;
for (int j = i; j <= mx; j += i) {
if (mp[j]) count++;
if (count && mp[j-1]) ans = 1;
}
if (count >= 2) {
ans = 0;
break;
}
}
cout << ans << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBZZXMgY291dCA8PCAiWUVTIiA8PCBlbmRsCiNkZWZpbmUgTm8gY291dCA8PCAiTk8iIDw8IGVuZGwKCgppbnQgbWFpbigpCnsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICBjb3V0LnRpZShudWxscHRyKTsKCiAgICBpbnQgVDsgY2luID4+IFQ7CiAgICB3aGlsZShULS0pCiAgICB7CiAgICAgICAgaW50IE47IGNpbiA+PiBOOwogICAgICAgIHZlY3RvciA8aW50PiB2IChOKSwgbXAgKDJlNSsxMCk7CgogICAgICAgIGludCBhbnMgPSAyLCBldmVuID0gMDsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewogICAgICAgICAgICBpbnQgeDsgY2luID4+IHg7CiAgICAgICAgICAgIG1wW3hdKys7CiAgICAgICAgICAgIHZbaV0gPSB4OwoKICAgICAgICAgICAgaWYgKHggJSAyID09IDApIGV2ZW4rKzsKICAgICAgICAgICAgaWYgKHggPiAxICYmIG1wW3hdID49IDIpIAogICAgICAgICAgICAgICAgYW5zID0gMDsKICAgICAgICB9CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSB7CiAgICAgICAgICAgIGludCB4OyBjaW4gPj4geDsKICAgICAgICB9CgogICAgICAgIGlmIChhbnMgPT0gMCB8fCBldmVuID49IDIpIHsKICAgICAgICAgICAgY291dCA8PCAwIDw8IGVuZGw7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgaWYgKGV2ZW4gPT0gMSkgYW5zID0gMTsKCiAgICAgICAgaW50IG14ID0gKm1heF9lbGVtZW50ICh2LmJlZ2luKCksIHYuZW5kKCkpICsgMTA7CiAgICAgICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gbXg7IGkrKykgewogICAgICAgICAgICBpbnQgY291bnQgPSAwOwogICAgICAgICAgICBmb3IgKGludCBqID0gaTsgaiA8PSBteDsgaiArPSBpKSB7CiAgICAgICAgICAgICAgICBpZiAobXBbal0pIGNvdW50Kys7CiAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmIChjb3VudCAmJiBtcFtqLTFdKSBhbnMgPSAxOyAKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY291bnQgPj0gMikgewogICAgICAgICAgICAgICAgYW5zID0gMDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBjb3V0IDw8IGFucyA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9