/*#include<stdio.h>
int m[101][101]= {},cm[101][101],n,cnt=0;
void copymap()
{int i, j;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
m[i][j]=cm[i][j];
}
}
}
void dfs(int i,int j,int k)
{
if(i<0 || j<0 || i>=n || j>=n || m[i][j]<=k)
return ;
m[i][j]=-1;
dfs(i,j+1,k);
dfs(i,j-1,k);
dfs(i+1,j,k);
dfs(i-1,j,k);
}
int main()
{
int i,j,k,max=1;
scanf("%d",&n);
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
scanf("%d",&m[i][j]);
cm[i][j]=m[i][j];
}
}
for(k=1; k<=100; k++)
{
cnt=0;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(m[i][j]>k)
{
cnt++;
dfs(i,j,k);
}
}
}
if(cnt>max) max=cnt;
copymap();
}
printf("%d",max);
return 0;
}
#include <stdio.h>
int a[100001]={},i,n;
void swap(int x, int y) // a[x]와 a[y]값 교환
{
int t=a[x];
a[x]=a[y];
a[y]=t;
}
void quick_sort(int s, int e)
{
int pivot=s, left=s, right=e+1;
if(s>=e) return ;
do
{
do{ left++;}while(a[pivot]>a[left]);
do{ right--;}while(a[pivot]<a[right]);
if(left<right) swap(left,right);
}while(left<right);
swap(pivot,right);
quick_sort(s,right-1);
quick_sort(right+1,e);
}
void view()
{
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
printf("\n");
}
}
int main()
{
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
//view();
quick_sort(1,n);
view();
}*/
#include<stdio.h>
int d[100000001]={},q,m,n;
//binary search 이분탐색
int bs(int s, int e, int k)
{
int mid=(s+e)/2;
if(s>e) return -1;
if(d[mid]==k) return mid+1;
C:\김준혁\211006\main.c else if(d[mid]<k) bs(mid+1,e,k);
else bs(s,mid-1,k);
}
int main()
{
int i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&d[i]);
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d",&q);
printf("%d ",bs(0,n-1,q));
}
return 0;
}