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