#include<stdio.h>

void maxHeapify(int);
int A[500000],n;
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,largest,x;
    l=i*2;
    r=(i*2)+1;
    if(l<=n && A[l]>A[i]) largest=l;
    else largest=i;
    if(r<=n && A[r]>A[largest]) largest=r;
    if(largest!=i){
        x=A[i];
        A[i]=A[largest];
        A[largest]=x;
        maxHeapify(largest);
    }
}

