#include<stdio.h>

#define MAX 2000000

int n,A[MAX+1];

void maxHeapify(int);

int main(){
  int i;

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

  for(i=n/2;i>=1;i--)
    maxHeapify(i);
  for(i=1;i<=n;i++)
    printf(" %d",A[i]);
  printf("\n");

  return 0;
}

void maxHeapify(int i){
  int l,r,larg,tmp;

  l = 2 * i;
  r = 2 * i + 1;

  if(l <= n && A[l] > A[i])larg = l;
  else larg = i;

  if(r <= n && A[r] > A[larg])larg = r;

  if(larg != i){
    tmp = A[i];
    A[i] = A[larg];
    A[larg] = tmp;
    maxHeapify(larg);
  }

}
