#include<stdio.h>
#define MAX 1000000

void maxHeapify(int);

int h,H[MAX];

int main(){
  int i;
  scanf("%d",&h);
  for(i=1;i<=h;i++){
    scanf("%d",&H[i]);
  }
  for(i=h/2;i>=1;i--){
    maxHeapify(i);
  }
  for(i=1;i<=h;i++){
    printf(" %d",H[i]);
  }
  printf("\n");
  return 0;
}

void maxHeapify(int i){
  int r,l,max,temp;
  r=i*2+1;
  l=i*2;
  if(H[i]<H[l] && l<=h){
    max=l;
  }else{
    max=i;
  }
  if(H[max]<H[r] && r<=h){
    max=r;
  }
  if(max!=i){
    temp=H[max];
    H[max]=H[i];
    H[i]=temp;    
    maxHeapify(max);
  }
}
  
  

