#include<stdio.h>
#include<stdlib.h>

#define MAX 2000000


int H,A[MAX+1];




void maxH(int i){
  int l,r,largest,s;
  l=2*i;
  r=2*i+1;


  if(l <= H && A[l] > A[i]) largest=l;
  else largest=i;
   if(r <= H && A[r] > A[largest]) largest=r;


   if(largest!=i){
     s=A[i];
     A[i]=A[largest];
     A[largest]=s;
     
     maxH(largest);
   }

}



int main(){
  int i;
  
  scanf("%d",&H);

  for(i =1;i <= H; i++)  scanf("%d",&A[i]);

  for(i =H/2;i >= 1; i--) maxH(i);

  for(i=1;i<=H;i++){
    printf(" %d",A[i]);
  }

  printf("\n");

  return 0;
}


