#include<stdio.h>
#define MAX 2000000
void Heep(int);
int n,A[MAX+1];

int main() {
  int i;

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

void Heep(int i) {
  int l,r,large,com;

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

  if(l <= n && A[l] > A[i])
    large = l;
  else large = i;
  if(r <= n && A[r] > A[large])
    large = r;
  if (large != i) {
    com = A[i];
    A[i] = A[large];
    A[large] = com;
    Heep(large);
  }
}

