#include <iostream>
#include <cstdio>
using namespace std;
#define MAXN 1026
int isempty=0;
void postorder(int n,int heap[],int head){
if(head<n){
postorder(n,heap,head*2+1);
postorder(n,heap,head*2+2);
if(!isempty){
printf("%d",heap[head]);
isempty=1;
}else{
printf(" %d",heap[head]);
}
}
}
int main()
{
int M,n,heap[MAXN];
scanf("%d %d",&M,&n);
while(M--){
isempty=0;
for(int i=0;i<n;i++){
scanf("%d",&heap[i]);
}
int flag=heap[0]>heap[1]?1:-1;
for(int j=0;2*j+1<n;j++){
int l=2*j+1;
int r=2*j+2;
if(flag==1&&(heap[j] < heap[l] || (r<n && heap[j] < heap[r]))){
flag=0;
break;
}else if(flag == -1 && (heap[j] > heap[l] || (r<n && heap[j] > heap[r]))){
flag=0;
break;
}
}
if (flag == 0) printf("Not Heap\n");
else printf("%s Heap\n", flag == 1 ? "Max" : "Min");
postorder(n,heap,0);
printf("\n");
}
return 0;
}