#include<stdio.h>
#define max 2000000

int h, c;
int x[max+1];

void hmax(int a){
  int l=2*a,r=2*a+1,largest;
  if(l<=h && x[l]>x[a])largest=l;
  else largest=a;
  if(r<=h && x[r]>x[largest])largest=r;
  if(largest != a){
    c=x[a];
    x[a]=x[largest];
    x[largest]=c;
    hmax(largest);
  }
}

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

