//	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
****************************************************************/