#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define nl '\n'
//#define int long long
void file()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#else
// freopen("help.in", "r", stdin);
#endif
}
void solve()
{
int n;
cin >> n;
vector<ll> a(n), b(n);
vector<int> bit(60);
for (int i = 0; i < n; i++)
cin >> a[i];
for (int i = 0; i < n; i++)
cin >> b[i];
ll need = 0;
vector<pair<int,ll>>v(n+9,{-1,-1});
vector<bool>vv(n+1);
vector<int>res(n+9);
for (int i = 0;i<n;i++)
{
need = 0;
if ((a[i]&b[i]) != b[i])
{
need = (b[i] & ~a[i]);
}
if (need)
{
v[i] = {i,need};
}
}
ll prev = 0,idx = n;
for (int i = n-1;i>=0;i--)
{
if (a[i] & prev)
{
res[i+1]++;
res[idx+1]--;
ll tmp= (prev&a[i]);
prev&=(~tmp);
if (prev == 0)
idx = n;
}
if (v[i].second !=-1)
{
prev |= v[i].second;
if (idx==n)
idx = i;
}
}
int ans = 0,cnt = 0;
for (int i = 1;i<=n;i++)
res[i]+=res[i-1];
for (int i = 1;i<n;i++)
{
if (res[i])
a[i]|=a[i-1],ans++;
}
for (int i = 0;i<n;i++)
{
if ((a[i]&b[i])!=b[i])
{
cout << -1<<nl;
return;
}
}
cout << ans<<nl;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
file();
int t = 1;
cin >> t;
while (t--)
{
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgIGxsIGxvbmcgbG9uZwojZGVmaW5lICBubCAnXG4nCi8vI2RlZmluZSAgaW50IGxvbmcgbG9uZwoKdm9pZCBmaWxlKCkKewojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW4udHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXQudHh0IiwgInciLCBzdGRvdXQpOwojZWxzZQogICAgLy8gZnJlb3BlbigiaGVscC5pbiIsICJyIiwgc3RkaW4pOwojZW5kaWYKfQoKdm9pZCBzb2x2ZSgpCnsKICAgIGludCBuOwogICAgY2luID4+IG47CiAgICB2ZWN0b3I8bGw+IGEobiksIGIobik7CiAgICB2ZWN0b3I8aW50PiBiaXQoNjApOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgY2luID4+IGFbaV07CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgY2luID4+IGJbaV07CgogICAgbGwgbmVlZCA9IDA7CiAgICB2ZWN0b3I8cGFpcjxpbnQsbGw+PnYobis5LHstMSwtMX0pOwogICAgdmVjdG9yPGJvb2w+dnYobisxKTsKICAgIHZlY3RvcjxpbnQ+cmVzKG4rOSk7CgogICAgZm9yIChpbnQgaSA9IDA7aTxuO2krKykKICAgIHsKICAgICAgICBuZWVkID0gMDsKICAgICAgICBpZiAoKGFbaV0mYltpXSkgIT0gYltpXSkKICAgICAgICB7CiAgICAgICAgICAgIG5lZWQgPSAoYltpXSAmIH5hW2ldKTsKICAgICAgICB9CiAgICAgICAgaWYgKG5lZWQpCiAgICAgICAgewogICAgICAgICAgICB2W2ldID0ge2ksbmVlZH07CiAgICAgICAgfQogICAgfQogICAgbGwgcHJldiA9IDAsaWR4ID0gbjsKICAgIGZvciAoaW50IGkgPSBuLTE7aT49MDtpLS0pCiAgICB7CiAgICAgICAgaWYgKGFbaV0gJiBwcmV2KQogICAgICAgIHsKICAgICAgICAgICAgcmVzW2krMV0rKzsKICAgICAgICAgICAgcmVzW2lkeCsxXS0tOwogICAgICAgICAgICBsbCB0bXA9IChwcmV2JmFbaV0pOwogICAgICAgICAgICBwcmV2Jj0ofnRtcCk7CiAgICAgICAgICAgIGlmIChwcmV2ID09IDApCiAgICAgICAgICAgICAgICBpZHggPSBuOwogICAgICAgIH0KICAgICAgICBpZiAodltpXS5zZWNvbmQgIT0tMSkKICAgICAgICB7CiAgICAgICAgICAgIHByZXYgfD0gdltpXS5zZWNvbmQ7CiAgICAgICAgICAgIGlmIChpZHg9PW4pCiAgICAgICAgICAgICAgICBpZHggPSBpOwogICAgICAgIH0KICAgIH0KCiAgICBpbnQgYW5zID0gMCxjbnQgPSAwOwogICAgZm9yIChpbnQgaSA9IDE7aTw9bjtpKyspCiAgICAgICAgcmVzW2ldKz1yZXNbaS0xXTsKICAgIGZvciAoaW50IGkgPSAxO2k8bjtpKyspCiAgICB7CiAgICAgICAgaWYgKHJlc1tpXSkKICAgICAgICAgICAgYVtpXXw9YVtpLTFdLGFucysrOwogICAgfQogICAgZm9yIChpbnQgaSA9IDA7aTxuO2krKykKICAgIHsKICAgICAgICBpZiAoKGFbaV0mYltpXSkhPWJbaV0pCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8IC0xPDxubDsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8IGFuczw8bmw7CgoKfQoKc2lnbmVkIG1haW4oKQp7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIGZpbGUoKTsKCiAgICBpbnQgdCA9IDE7CiAgICBjaW4gPj4gdDsKCiAgICB3aGlsZSAodC0tKQogICAgewogICAgICAgIHNvbHZlKCk7CiAgICB9CgoKICAgIHJldHVybiAwOwp9Cg==