#include <stdio.h>
#define MAX 2000000

void max(int);

int size,A[MAX+1];

int main ()
{
  scanf("%d",&size);
  int i;
  
  for(i=1;i<=size;i++) scanf("%d",&A[i]);

  for(i=size/2;i>=1;i--) max(i);

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

  return 0;
}

void max(int i)
{
  int l,r,largest,t;
  l=2*i;
  r=2*i+1;
  if(l<=size && A[l]>A[i]) largest=l;
  else largest = i;
  if(r<=size&&A[r]>A[largest]) largest = r;
  if(largest != i)
    {
      t=A[i];A[i]=A[largest];A[largest]=t;
      max(largest);
    }
}




  

