#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
typedef pair<int,int> pii;
typedef long long ll;
typedef double ld;
typedef vector<int> vi;
#define fi first
#define se second
#define fe first
#define FO(x) {freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);}
#define Edg int M=0,fst[SZ],vb[SZ],nxt[SZ];void ad_de(int a,int b){++M;nxt[M]=fst[a];fst[a]=M;vb[M]=b;}void adde(int a,int b){ad_de(a,b);ad_de(b,a);}
#define Edgc int M=0,fst[SZ],vb[SZ],nxt[SZ],vc[SZ];void ad_de(int a,int b,int c){++M;nxt[M]=fst[a];fst[a]=M;vb[M]=b;vc[M]=c;}void adde(int a,int b,int c){ad_de(a,b,c);ad_de(b,a,c);}
#define es(x,e) (int e=fst[x];e;e=nxt[e])
#define esb(x,e,b) (int e=fst[x],b=vb[e];e;e=nxt[e],b=vb[e])
#define SZ 666666
int n,q,k,g=0;
ll a[SZ],b[SZ];
ll f[55],qz[55];
bool ok(ll x)
{
f[0]=1;
for(int i=1;i<=g;++i)
{
f[i]=0;
for(int j=i;j>=1;--j)
if(((qz[i]-qz[j-1])&x)==x) f[i]|=f[j-1]<<1;
}
return (f[g]>>k)&1;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;++i) scanf("%lld",a+i);
scanf("%d",&q);
while(q--)
{
scanf("%d",&k);
assert(k<=n);
g=0;
for(int i=1;i<=n;++i)
{
int x;
scanf("%d",&x);
if(a[i]*x)
b[++g]=a[i]*x;
}
assert(g<=50);
for(int i=1;i<=g;++i)
qz[i]=qz[i-1]+b[i];
if(k>g)
{
puts("0");
continue;
}
ll w=0;
for(int j=62;j>=0;--j)
if(ok(w|(1LL<<j)))
w|=1LL<<j;
printf("%lld\n",w);
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCnR5cGVkZWYgcGFpcjxpbnQsaW50PiBwaWk7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIGRvdWJsZSBsZDsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGZlIGZpcnN0CiNkZWZpbmUgRk8oeCkge2ZyZW9wZW4oI3giLmluIiwiciIsc3RkaW4pO2ZyZW9wZW4oI3giLm91dCIsInciLHN0ZG91dCk7fQojZGVmaW5lIEVkZyBpbnQgTT0wLGZzdFtTWl0sdmJbU1pdLG54dFtTWl07dm9pZCBhZF9kZShpbnQgYSxpbnQgYil7KytNO254dFtNXT1mc3RbYV07ZnN0W2FdPU07dmJbTV09Yjt9dm9pZCBhZGRlKGludCBhLGludCBiKXthZF9kZShhLGIpO2FkX2RlKGIsYSk7fQojZGVmaW5lIEVkZ2MgaW50IE09MCxmc3RbU1pdLHZiW1NaXSxueHRbU1pdLHZjW1NaXTt2b2lkIGFkX2RlKGludCBhLGludCBiLGludCBjKXsrK007bnh0W01dPWZzdFthXTtmc3RbYV09TTt2YltNXT1iO3ZjW01dPWM7fXZvaWQgYWRkZShpbnQgYSxpbnQgYixpbnQgYyl7YWRfZGUoYSxiLGMpO2FkX2RlKGIsYSxjKTt9CiNkZWZpbmUgZXMoeCxlKSAoaW50IGU9ZnN0W3hdO2U7ZT1ueHRbZV0pCiNkZWZpbmUgZXNiKHgsZSxiKSAoaW50IGU9ZnN0W3hdLGI9dmJbZV07ZTtlPW54dFtlXSxiPXZiW2VdKQojZGVmaW5lIFNaIDY2NjY2NgppbnQgbixxLGssZz0wOwpsbCBhW1NaXSxiW1NaXTsKbGwgZls1NV0scXpbNTVdOwpib29sIG9rKGxsIHgpCnsKCWZbMF09MTsKCWZvcihpbnQgaT0xO2k8PWc7KytpKQoJewoJCWZbaV09MDsKCQlmb3IoaW50IGo9aTtqPj0xOy0taikKCQkJaWYoKChxeltpXS1xeltqLTFdKSZ4KT09eCkgZltpXXw9ZltqLTFdPDwxOwoJfQoJcmV0dXJuIChmW2ddPj5rKSYxOwp9CmludCBtYWluKCkKewoJc2NhbmYoIiVkIiwmbik7Cglmb3IoaW50IGk9MTtpPD1uOysraSkgc2NhbmYoIiVsbGQiLGEraSk7CglzY2FuZigiJWQiLCZxKTsKCXdoaWxlKHEtLSkKCXsKCQlzY2FuZigiJWQiLCZrKTsKCQlhc3NlcnQoazw9bik7CgkJZz0wOwoJCWZvcihpbnQgaT0xO2k8PW47KytpKQoJCXsKCQkJaW50IHg7CgkJCXNjYW5mKCIlZCIsJngpOwoJCQlpZihhW2ldKngpCgkJCQliWysrZ109YVtpXSp4OwoJCX0KCQlhc3NlcnQoZzw9NTApOwoJCWZvcihpbnQgaT0xO2k8PWc7KytpKQoJCQlxeltpXT1xeltpLTFdK2JbaV07CgkJaWYoaz5nKQoJCXsKCQkJcHV0cygiMCIpOwoJCQljb250aW51ZTsKCQl9CgkJbGwgdz0wOwoJCWZvcihpbnQgaj02MjtqPj0wOy0taikKCQkJaWYob2sod3woMUxMPDxqKSkpCgkJCQl3fD0xTEw8PGo7CgkJcHJpbnRmKCIlbGxkXG4iLHcpOwoJfQp9