#include <bits/stdc++.h>
using namespace std;
void minHeapify(vector<int> &vec, int i, int& n){
int smallest = i;
int left = 2 * i + 1, right = left + 1;
if(left < n && vec[left] < vec[smallest])
smallest = left;
if(right < n && vec[right] < vec[smallest])
smallest = right;
if(smallest ^ i){
swap(vec[i], vec[smallest]);
minHeapify(vec, smallest, n);
}
}
int main()
{
int k, val, heapSize = 0; cin>>k;
vector<int> vec;
while(true){
cin>>val;
if(val == -1)
break;
if(heapSize < k){
vec.push_back(val);
++heapSize;
}
else if(val > vec[0]){
vec[0] = val;
}
minHeapify(vec, 0, heapSize);
if(heapSize == k)
cout<<vec[0]<<" ";
else
cout<<"N ";
}
cout<<"\nThe elements in the heap:\n";
for(auto &val: vec)
cout<<val<<" ";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIG1pbkhlYXBpZnkodmVjdG9yPGludD4gJnZlYywgaW50IGksIGludCYgbil7CiAgICBpbnQgc21hbGxlc3QgPSBpOwogICAgaW50IGxlZnQgPSAyICogaSArIDEsIHJpZ2h0ID0gbGVmdCArIDE7CiAgICAKICAgIGlmKGxlZnQgPCBuICYmIHZlY1tsZWZ0XSA8IHZlY1tzbWFsbGVzdF0pCiAgICAgICAgc21hbGxlc3QgPSBsZWZ0OwogICAgICAgIAogICAgaWYocmlnaHQgPCBuICYmIHZlY1tyaWdodF0gPCB2ZWNbc21hbGxlc3RdKQogICAgICAgIHNtYWxsZXN0ID0gcmlnaHQ7CiAgICAKICAgIGlmKHNtYWxsZXN0IF4gaSl7CiAgICAgICAgc3dhcCh2ZWNbaV0sIHZlY1tzbWFsbGVzdF0pOwogICAgICAgIG1pbkhlYXBpZnkodmVjLCBzbWFsbGVzdCwgbik7CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgaW50IGssIHZhbCwgaGVhcFNpemUgPSAwOyBjaW4+Pms7CiAgICAKICAgIHZlY3RvcjxpbnQ+IHZlYzsKICAgIAogICAgd2hpbGUodHJ1ZSl7CiAgICAgICAgY2luPj52YWw7CiAgICAgICAgCiAgICAgICAgaWYodmFsID09IC0xKQogICAgICAgICAgICBicmVhazsKICAgICAgICAKICAgICAgICBpZihoZWFwU2l6ZSA8IGspewogICAgICAgICAgICB2ZWMucHVzaF9iYWNrKHZhbCk7CiAgICAgICAgICAgICsraGVhcFNpemU7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYodmFsID4gdmVjWzBdKXsKCSAgICAgICAgdmVjWzBdID0gdmFsOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBtaW5IZWFwaWZ5KHZlYywgMCwgaGVhcFNpemUpOwogICAgICAgIAogICAgICAgIGlmKGhlYXBTaXplID09IGspCiAgICAgICAgICAgIGNvdXQ8PHZlY1swXTw8IiAiOwogICAgICAgIGVsc2UKICAgICAgICAgICAgY291dDw8Ik4gIjsKICAgIH0KICAgIAogICAgY291dDw8IlxuVGhlIGVsZW1lbnRzIGluIHRoZSBoZWFwOlxuIjsKICAgIGZvcihhdXRvICZ2YWw6IHZlYykKICAgIAljb3V0PDx2YWw8PCIgIjsKICAgIAkKICAgIHJldHVybiAwOwp9