#include <iostream>
using namespace std;
int num[1010];
void adjustup(int k)
{
num[0] = num[k];
int i = k / 2;
while(i > 0 && num[0] < num[i])
{
num[k] = num[i];
k = i;
i /= 2;
}
num[k] = num[0];
}
void print(int index)
{
int first = 1;
while(index >= 1)
{
if(first == 1)
{
first = 0;
}
else
{
printf(" ");
}
printf("%d", num[index]);
index /= 2;
}
printf("\n");
}
int main()
{
int n, m;
scanf("%d%d", &n, &m);
int i;
for(i = 1; i <= n; i++)
{
scanf("%d", &num[i]);
adjustup(i);
}
int index;
for(i = 1; i <= m; i++)
{
scanf("%d", &index);
print(index);
}
system("pause");
return 0;
}