#include<bits/stdc++.h>
using namespace std; 
int n,q,x,a[100005],ans = -1;
//如果l>r 代表超出。然后ans就是答案了。
//否则如果  等于x    就要改变ans,然后继续往后面找(虽然不一定找到)
// 否则如果  小于x   
//否则如果   大于x
void f(int l,int r)
{
	int mid = (l + r) >> 1;
	if(l > r)
	{
	    ans = mid;
	    return;
	} 
	else if(a[mid] == x)
	{
		ans = mid;
		f(mid + 1,r);
	}
	else if(a[mid] < x)
	{
		f(mid + 1,r);
	}
	else if(a[mid] > x)
	{
		f(l,mid - 1);
	}
}
int main()
{
	cin >> n;
	for(int i = 1; i <= n; i++)
	{
		cin >> a[i];
	}
	cin >> q;
	while(q--)
	{
	    ans = -1;
		scanf("%d",&x);
		f(1,n);
		printf("%d ",ans);
//        cout << ans << " ";
	}
	return 0;
}
/**************************************************************
	Problem: 1895
	User: yangwanning
	Language: C++
	Result: Wrong Answer
****************************************************************/