include<stdio.h>
 
#define MAX 2000000
 
int H,A[MAX+1];
void maxHeapfy(int i){
 
    int  l,r,largest,t;
    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){
        t = A[i];
        A[i] = A[largest];
        A[largest] = t;
        maxHeapfy(largest);
    }
 
}
int main(){
int i;
scanf("%d",&H);
 
for( i = 1 ; i <= H ; i++ ){
 
    scanf("%d",&A[i]);
 
}
for( i = H/2 ; i >= 1 ; i-- ){
    maxHeapfy(i);
}
 
for( i = 1 ; i <= H ; i++){
    printf(" %d",A[i]);
}
printf("\n");
 
return 0;
 
}
 
 
 