#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,a[100010],m;
int f[100010],poi[100010];
void print(int i){
if (poi[i]==i){
printf("%d ",a[i]);
return ;
}
print(poi[i]);
printf("%d ",a[i]);
}
int main(){
scanf("%d",&n);
for (int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&m);
for (int i=1;i<=n;i++){
f[i]=1;
poi[i]=i;
for (int j=1;j<i;j++){
if (a[i]>a[j]&&f[i]<f[j]+1){
f[i]=f[j]+1;
poi[i]=j;
}
}
}
int ans=0;
for (int i=1;i<=n;i++){
ans=max(ans,f[i]);
}
for (int lqy=1;lqy<=m;lqy++){
int l;
scanf("%d",&l);
if (l>ans){
printf("Impossible\n");
continue;
}
for (int i=1;i<=n;i++){
if (f[i]==l){
print(i);
printf("\n");
break;
}
}
}
return 0;
}