#include<bits/stdc++.h> using namespace std; const int maxn = 100000+5; int heap[maxn],_size; void put(int k){ heap[++_size]=k; int now=_size; while(now>1){ int nxt = now >> 1; if(heap[now]>heap[nxt])return; swap(heap[now],heap[nxt]); now = nxt; } } void get(){ int res = heap[1]; heap[1] = heap[_size--]; heap[_size+1] = res; int now = 1; while(now*2<=_size){ int nxt = now << 1; if(nxt<_size&&heap[nxt]>heap[nxt+1])nxt++; if(heap[now]<=heap[nxt])return; swap(heap[now],heap[nxt]); now = nxt; } } int main(){ int n,tot=0; cin>>n; for(int i=1;i<=n;i++){ int b; cin>>b; put(b); } for(int i=1;i<n;i++)get(); for(int i=1;i<=n;i++) cout<<heap[i]<<" "; }