#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;
}