#include <stdio.h>
 
#define H 200000
 
int maxHeapify(int*,int);
int x;
 
int main(){
 
  int i,A[H];
 
  scanf("%d",&x);
  for(i=1; i<=x; i++)
    scanf("%d",&A[i]);
 
  for(i=x/2; i>=1; i--){
    maxHeapify(A,i);
  }
 
  for(i=1; i<=x; i++){
    printf(" %d",A[i]);
  }
  printf("\n");
 
  return 0;
}
 
int maxHeapify(int *A,int i){
 
  int l,r,largest,temp;
 
  l = 2*i;
  r = 2*i+1;
 
  if(l <= x && A[l] > A[i]){
    largest = l;
  }else largest = i;
 
  if(r <= x && A[r] > A[largest]){
    largest = r;
  }
 
  if(largest != i){ 
    temp = A[i];
    A[i] = A[largest];
    A[largest] = temp;
   
  maxHeapify(A,largest);
  }
}