#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int MAX_VAL = 300000; //输入的数字范围
int c[MAX_VAL+5];
int delta;
inline int lowbit(int x){return x&(-x);}
void add(int p,int x)
{
while(p<=MAX_VAL)
{
c[p]+=x;
p+=lowbit(p);
}
}
int find_kth(int K)
{
int ans = 0,cnt = 0;
for(int i=19;i>=0;i--)//这里的19适当的取值,与MAX_VAL有关,一般取lg(MAX_VAL)
{
ans+=(1<<i);
if(ans>= MAX_VAL||cnt+c[ans]>= K)ans-=(1<<i);
else cnt+=c[ans];
}
return ans+1;
}
int main()
{
int n;
int x, k, i;
while (cin >> n)
{
memset(c, 0, sizeof(c));
for (i = 0; i < n; i++)
{
scanf("%d", &x);
add(x, 1);
}
cin >> n;
for (i = 0; i < n; i++)
{
cin >> k;
cout << find_kth(k) << endl;
}
}
return 0;
}