#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<malloc.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
int a[1000005][4];
int order(const void* p1, const void *p2){
int *p=p1;
int *pp=p2;
return (*p-*pp);
}
int find(int b, int low, int high){
if(low>high) return 0;
if(low==high&&a[low][0]!=b) return 0;
int mid=(low+high)/2;
if(a[mid][0]>b){
return find(b, low, mid-1);
}
if(a[mid][0]<b) return find(b, mid+1, high);
if(a[mid][0]==b) return a[mid][1];
}
int main(){
FILE * IN, *OUT;
IN=fopen("bowling.in", "r");
OUT=fopen("bowling.out", "w");
int n;
fscanf(IN, "%d", &n);
int i;
for(i=0; i<n; i++){
fscanf(IN, "%d", &a[i][0]);
a[i][1]=i+1;
}
int m;
int b;
fscanf(IN, "%d", &m);
qsort(a, n, sizeof(a[0]), order);
for(i=0; i<m; i++){
fscanf(IN, "%d", &b);
fprintf(OUT, "%d\n", find(b, 0, n-1));
}
fclose(IN), fclose(OUT);
return 0;
}