#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)
    {
        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: admin
	Language: C++
	Result: Accepted
	Time:200 ms
	Memory:2468 kb
****************************************************************/