#include <stdio.h>
#define MAX 2000000

void max(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--) max(i);
    for(i=1;i<=n;i++) printf(" %d",A[i]);
    printf("\n");
    return 0;
}
void max(int i){
    int l,r,larg,temp;
    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){
       temp=A[i];
       A[i]=A[larg];
       A[larg]=temp;
       max(larg);
    }
}
