#include<stdio.h>
#define NUM 500000
void buildMaxHeap();
void maxHeapify(int);

int a[NUM],h;
int main(){
  int i;
  scanf("%d",&h);
  for(i=1;i<=h;i++){
    scanf("%d",&a[i]);
  }

  buildMaxHeap();

  for(i=1;i<=h;i++){
    printf(" %d",a[i]);
  }
  printf("\n");
  return 0;
}

void buildMaxHeap(){
  int i;
  for(i=h/2;i>=1;i--){
    maxHeapify(i);
  }
}

void maxHeapify(int i){
  int l,r,largest,a1;
  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){
    a1=a[i];
    a[i]=a[largest];
    a[largest]=a1;
    maxHeapify(largest);
  }
}

