#include <stdio.h>

int h, a[500000];

void maxheap(int i)
{
  int l, r, largest, x;

  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){
    x = a[i];
    a[i] = a[largest];
    a[largest] = x;
    maxheap(largest);
  }
}

int main()
{
  int i;

  scanf("%d",&h);
  for (i = 1; i <= h; i++)
    scanf("%d",&a[i]);
  for (i = h/2; i > 0; i--)
    maxheap(i);
  for (i = 1; i <= h; i++)
    printf(" %d",a[i]);
  printf("\n");
  
    return 0;
}

