// 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,b[100001],c=1;
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<=q;i++) {
scanf("%d",&x);
ss(1,n);
b[c++]=ans;
ans=-1;
}
for(int i=1;i<c;i++) printf("%d ",b[i]);
return 0;}
/**************************************************************
Problem: 1895
User: fzy001
Language: C++
Result: Accepted
Time:143 ms
Memory:2860 kb
****************************************************************/