//05-树7 堆中的路径import java.util.Scanner;classheap{
final int Max_Size =1000;
final int Min_Data =-10000;
int[] elements=newint[Max_Size +1];
int size =0;
int capacity = Max_Size;heap(){this.elements[0]= Min_Data;}}publicclassMain{staticvoidpercdown(heap H, int p){
int x =H.elements[p];
int par, chi;for(par = p; par *2<H.size; par = chi){
chi =2* par;if((chi !=H.size)&&(H.elements[chi]>H.elements[chi +1])){
chi ++;}if(x <H.elements[chi]){break;}else{H.elements[par]=H.elements[chi];}}H.elements[par]= x;}staticvoidbuildMin(heap H){
int p =H.size /2;for(; p >=1; p --){percdown(H, p);}}staticvoidbuildMin(int[] a, heap H){
int j;for(int i =0; i < a.length; i ++){
j =++H.size;H.elements[j]= a[i];for(;H.elements[j /2]> a[i]; j /=2){H.elements[j]=H.elements[j /2];}H.elements[j]= a[i];}}staticvoidprintstack(heap H, int p){while(p >0){if(p ==1){
System.out.print(H.elements[p]);}else{
System.out.print(H.elements[p]+" ");}
p /=2;}
System.out.println();}publicstaticvoidmain(String[] args){
Scanner s =newScanner(System.in);
int N= s.nextInt();
int M= s.nextInt();
int p;
int[] a =newint[N];
heap H=newheap();for(int i =0; i <N; i ++){
a[i]= s.nextInt();//H.elements[i + 1] = a[i];//H.size ++;}/*for(int i = 1; i < N + 1; i ++){
System.out.println(H.elements[i] + " ");
}
buildMin(H);
for(int i = 1; i < N + 1; i ++){
System.out.println(H.elements[i]);
}*/buildMin(a,H);for(int i =0; i <M; i ++){
p = s.nextInt();printstack(H, p);}}}