#include <stdio.h>

int h,a[2000000];

void maxHeapify(int);
int main(){

  int i;

  scanf("%d",&h);

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

  for( i=h/2;i>=1; i-- ) maxHeapify(i);

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

  return 0;

}


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

