#include <bits/stdc++.h>
using namespace std;
#define MAX 2000000
int H, A[MAX + 1];

void maxHeapify(int i)
{
  int l, r, m;
  l = 2 * i;
  r = 2 * i + 1;
  if (l <= H && A[l] > A[i])
  {
    m = l;
  }
  else
  {
    m = i;
  }
  if (r <= H && A[r] > A[m])
    m = r;
  if (m != i)
  {
    swap(A[i], A[m]);
    maxHeapify(m);
  }
}

int main()
{
  cin >> H;
  for (int i = 1; i <= H; i++)
  {
    cin >> A[i];
  }
  for (int i = H / 2; i >= 1; i--)
  {
    maxHeapify(i);
  }
  for (int i = 1; i <= H; i++)
  {
    cout << " " << A[i];
  }
  cout << endl;
}
