#include <stdio.h>

#define MAX_SIZE 100000

double a[MAX_SIZE];
int n;

void stab(int k)
{
  double h=a[k];
  int child;
  while(k<=(n-2)/2) 
  {
    child=2*k+1;
    if(child<n-1)
      if(a[child]<a[child+1]) 
        child++;
    if(h>=a[child]) 
      break; 
    a[k]=a[child];
    k=child;
  }
  a[k]=h;
}

int main(void)
{
  int i;
  scanf("%d",&n);
  for(i=0;i<n;i++)
    scanf("%lf",&a[i]);
  for(i=n/2;i>=0;i--)
    stab(i);
  for(i=0;i<n;i++)
    printf("%a\n",a[i]);
  return 0;
}
