#include<bits/stdc++.h>
using namespace std;
// Numeric Constants
#define N 1000000007
#define maxs 200005
#define mins 1005
#define eps 1e-14
#define imax 2000000200
#define llmax 1000000002000000000ll
#define pi 3.141592653589793
// Others
#define ll long long
#define pb push_back
#define gc getchar_unlocked
#define iosbase ios_base::sync_with_stdio(false)
#define pii pair<int,int>
#define pll pair<ll,ll>
#define ppi pair<pair<int,int>,int>
#define ppl pair<pll,ll>
#define vi vector<int>
#define sc scanf
#define pr printf
#define lld I64d
#define F first
#define S second
#define siter set<int>::iterator
#define p_pq priority_queue
#define ub upper_bound
#define lb lower_bound
int vals[maxs],val2[maxs],col[maxs];
vector<int>v;
int tree[maxs],colors[maxs];
void update(int ind,int val){
while(ind<=2000){
tree[ind]=max(tree[ind],val);
ind+=(ind & -ind);
}
}
int query(int ind){
int ret=0;
while(ind>0){
ret=max(ret,tree[ind]);
ind-=(ind & -ind);
}
return ret;
}
int main()
{
int n,i,j,k,q,len;
sc("%d",&n);
for(i=0;i<n;i++){
sc("%d",&vals[i]);
val2[i]=vals[i];
}
sort(val2,val2+n);
for(i=0;i<n;i++){
vals[i]=lower_bound(val2,val2+n,vals[i])-val2+1;
}
for(i=0;i<n;i++){
sc("%d",&col[i]);
col[i]--;
}
for(i=0;i<=n;i++){
colors[i]=imax;
}
for(i=0;i<(1<<10);i++){
v.clear();
for(j=0;j<n;j++){
if((1<<col[j])&i){
v.pb(vals[j]);
}
}
for(j=0;j<=2000;j++){
tree[j]=0;
}
int ans=0;
for(k=0;k<v.size();k++){
int q=query(v[k]);
ans=max(ans,q+1);
update(v[k],q+1);
}
int tt=__builtin_popcount(i);
for(j=ans;j>=0;j--){
colors[j]=min(colors[j],tt);
}
}
sc("%d",&q);
for(i=0;i<q;i++){
sc("%d",&len);
if(len>n){
pr("-1\n");
continue;
}
if(colors[len]>=imax){
pr("-1\n");
}
else{
pr("%d\n",colors[len]);
}
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIE51bWVyaWMgQ29uc3RhbnRzCiNkZWZpbmUgTiAxMDAwMDAwMDA3CiNkZWZpbmUgbWF4cyAyMDAwMDUKI2RlZmluZSBtaW5zIDEwMDUKI2RlZmluZSBlcHMgMWUtMTQKI2RlZmluZSBpbWF4IDIwMDAwMDAyMDAKI2RlZmluZSBsbG1heCAxMDAwMDAwMDAyMDAwMDAwMDAwbGwKI2RlZmluZSBwaSAzLjE0MTU5MjY1MzU4OTc5MwoKLy8gT3RoZXJzCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgZ2MgZ2V0Y2hhcl91bmxvY2tlZAojZGVmaW5lIGlvc2Jhc2UgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSkKI2RlZmluZSBwaWkgcGFpcjxpbnQsaW50PgojZGVmaW5lIHBsbCBwYWlyPGxsLGxsPgojZGVmaW5lIHBwaSBwYWlyPHBhaXI8aW50LGludD4saW50PgojZGVmaW5lIHBwbCBwYWlyPHBsbCxsbD4KI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIHNjIHNjYW5mCiNkZWZpbmUgcHIgcHJpbnRmCiNkZWZpbmUgbGxkIEk2NGQKI2RlZmluZSBGIGZpcnN0CiNkZWZpbmUgUyBzZWNvbmQKI2RlZmluZSBzaXRlciBzZXQ8aW50Pjo6aXRlcmF0b3IKI2RlZmluZSBwX3BxIHByaW9yaXR5X3F1ZXVlCiNkZWZpbmUgdWIgdXBwZXJfYm91bmQKI2RlZmluZSBsYiBsb3dlcl9ib3VuZAoKaW50IHZhbHNbbWF4c10sdmFsMlttYXhzXSxjb2xbbWF4c107CnZlY3RvcjxpbnQ+djsKaW50IHRyZWVbbWF4c10sY29sb3JzW21heHNdOwoKdm9pZCB1cGRhdGUoaW50IGluZCxpbnQgdmFsKXsKCXdoaWxlKGluZDw9MjAwMCl7CgkJdHJlZVtpbmRdPW1heCh0cmVlW2luZF0sdmFsKTsKCQlpbmQrPShpbmQgJiAtaW5kKTsKCX0KfQoKaW50IHF1ZXJ5KGludCBpbmQpewoJaW50IHJldD0wOwoJd2hpbGUoaW5kPjApewoJCXJldD1tYXgocmV0LHRyZWVbaW5kXSk7CgkJaW5kLT0oaW5kICYgLWluZCk7Cgl9CglyZXR1cm4gcmV0Owp9CgppbnQgbWFpbigpCnsKCWludCBuLGksaixrLHEsbGVuOwoJc2MoIiVkIiwmbik7Cglmb3IoaT0wO2k8bjtpKyspewoJCXNjKCIlZCIsJnZhbHNbaV0pOwoJCXZhbDJbaV09dmFsc1tpXTsKCX0JCglzb3J0KHZhbDIsdmFsMituKTsKCWZvcihpPTA7aTxuO2krKyl7CgkJdmFsc1tpXT1sb3dlcl9ib3VuZCh2YWwyLHZhbDIrbix2YWxzW2ldKS12YWwyKzE7Cgl9Cglmb3IoaT0wO2k8bjtpKyspewoJCXNjKCIlZCIsJmNvbFtpXSk7CgkJY29sW2ldLS07Cgl9Cglmb3IoaT0wO2k8PW47aSsrKXsKCQljb2xvcnNbaV09aW1heDsKCX0KCWZvcihpPTA7aTwoMTw8MTApO2krKyl7CgkJdi5jbGVhcigpOwoJCWZvcihqPTA7ajxuO2orKyl7CgkJCWlmKCgxPDxjb2xbal0pJmkpewoJCQkJdi5wYih2YWxzW2pdKTsKCQkJfQoJCX0KCQlmb3Ioaj0wO2o8PTIwMDA7aisrKXsKCQkJdHJlZVtqXT0wOwoJCX0KCQlpbnQgYW5zPTA7CgkJZm9yKGs9MDtrPHYuc2l6ZSgpO2srKyl7CgkJCWludCBxPXF1ZXJ5KHZba10pOwoJCQlhbnM9bWF4KGFucyxxKzEpOwoJCQl1cGRhdGUodltrXSxxKzEpOwoJCX0KCQlpbnQgdHQ9X19idWlsdGluX3BvcGNvdW50KGkpOwoJCWZvcihqPWFucztqPj0wO2otLSl7CgkJCWNvbG9yc1tqXT1taW4oY29sb3JzW2pdLHR0KTsKCQl9Cgl9CglzYygiJWQiLCZxKTsKCWZvcihpPTA7aTxxO2krKyl7CgkJc2MoIiVkIiwmbGVuKTsKCQlpZihsZW4+bil7CgkJCXByKCItMVxuIik7CgkJCWNvbnRpbnVlOwoJCX0KCQlpZihjb2xvcnNbbGVuXT49aW1heCl7CgkJCXByKCItMVxuIik7CgkJfQoJCWVsc2V7CgkJCXByKCIlZFxuIixjb2xvcnNbbGVuXSk7CgkJfQoJfQoJcmV0dXJuIDA7Cn0=