#include <stdio.h>
#define MAX 2000000

int n,a[MAX+1];

void kansu(int i){
    int l,r,k,t;
    l=2*i;
    r=2*i+1;
    if(l <= n && a[l] > a[i])
       k=l;
    else
        k=i;
    if(r <= n && a[r] > a[k])
        k=r;

    if(k != i){
        t=a[i];
        a[i]=a[k];
        a[k]=t;
        kansu(k);
    }
}

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

