#include <iostream>
using namespace std;
long long a[50010],f[50010],s,d,g;
int main()
{
cin >> s;
for(int i = 1;i <= s;i++)
{
cin >> a[i];
f[i] = 1;
}
long long maxn = -1;
for(int i = s;i >= 1;i--)
{
for(int j = i+1;j <= s;j++)
{
if(a[j] > a[i])
{
f[i]++;
}
}
maxn = max(f[i],maxn);
}
cin >> d;
for(int i = 1;i <= d;i++)
{
cin >> g;
if(g > maxn)
{
cout << "Impossible" << endl;
}
else
{
int q = 0;
for(int j = 1;j <= s;j++)
{
if(f[j] >= g)
{
cout << a[j] << " ";
q = j;
g--;
break;
}
}
for(int j = q+1;j <= s;j++)
{
if(a[j] > a[q])
{
cout << a[j] << " ";
q = j;
}
}
cout << endl;
}
}
return 0;
}