#include
#include
using namespace std;
vectorvec;
int fen(int begin1, int end1, int k)
{
if (begin1 < end1)
{
int mid = (begin1 + end1) / 2;
int kk;
if (vec[mid] > k)
{
kk = fen(begin1, mid-1, k);
if (kk != -1)
{
return kk;
}else
{
return mid;
}
}
else if (vec[mid] < k)
{
kk = fen(mid+1, end1, k);
if (kk != -1)
{
return kk;
}
}
else
{
return mid;
}
}
else if (begin1 == end1)
{
if (vec[begin1] > k)
{
return begin1;
}
}
return -1;
}
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
int q;
cin >> q;
vec.push_back(q);
}
int m;
cin >> m;
while (m--)
{
int k;
cin >> k;
if (k <= vec[0])
{
cout << vec[0] << endl;
continue;
}
else if(k >= vec[vec.size() - 1])
{
cout << vec[vec.size() - 1] << endl;
continue;
}
else
{
int kk = fen(0, vec.size()-1, k);
if (abs(vec[kk - 1] - k) <= abs(vec[kk]-k))
{
cout << vec[kk - 1] << endl;
continue;
}
else
{
cout << vec[kk] << endl;
continue;
}
}
}
}