// l r a[m]?x 执行
//1 1 5 == ans=3 <-
//2 1 2 < ->
//3 2 2 < ->
//4 2 1 结束
#include<bits/stdc++.h>
using namespace std;
int n,x,a[100001],ans=-1,q;
void ss(int l,int r){
if(l>r) return;
int m=(l+r)/2;
if(a[m]==x){
ans=m;
ss(m+1,r);
}
else if(a[m]<x) ss(m+1,r);
else ss(l,m-1);
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
scanf("%d",&q);
for(int i=1;i<=n;i++) {
scanf("%d",&x);
ss(1,n);
printf("%d ",ans);
ans=-1;
}
return 0;}
/**************************************************************
Problem: 1895
User: fzy001
Language: C++
Result: Output Limit Exceed
****************************************************************/