#include<vector>
#include<algorithm>
#include<iostream>
#include<queue>
#include<stack>
#include<functional>
using namespace std;
struct data{
int first;
int second;
};
class compare{
public:
bool operator()( data &a ,data &b)
{
if(a.first < b.first) return true;
else false;
}
};
int main()
{
priority_queue <data , vector<data>, compare> heap;
data temp2[] = { {5,19},{2,7},{90,9},{12,6} };
for(int i = 0; i < 4 ;++i)
{
heap.push(temp2[i]);
}
while(heap.empty() == false)
{
cout<<heap.top().first<<endl;;
heap.pop();
}
}
I2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPGlvc3RyZWFtPgojaW5jbHVkZTxxdWV1ZT4KI2luY2x1ZGU8c3RhY2s+CiNpbmNsdWRlPGZ1bmN0aW9uYWw+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBkYXRhewoKCWludCBmaXJzdDsKCWludCBzZWNvbmQ7Cn07CmNsYXNzIGNvbXBhcmV7CnB1YmxpYzoKCSBib29sIG9wZXJhdG9yKCkoIGRhdGEgJmEgLGRhdGEgJmIpCgkgewoJCSBpZihhLmZpcnN0IDwgYi5maXJzdCkgcmV0dXJuIHRydWU7CgkJIGVsc2UgZmFsc2U7CgkgfQp9OwoKaW50IG1haW4oKQp7CQoJcHJpb3JpdHlfcXVldWUgPGRhdGEgLCB2ZWN0b3I8ZGF0YT4sIGNvbXBhcmU+IGhlYXA7CglkYXRhIHRlbXAyW10gPSB7IHs1LDE5fSx7Miw3fSx7OTAsOX0sezEyLDZ9IH07CgkKCWZvcihpbnQgaSA9IDA7IGkgPCAgNCA7KytpKQoJewkJCiAgICAgICBoZWFwLnB1c2godGVtcDJbaV0pOwoJfQoJd2hpbGUoaGVhcC5lbXB0eSgpID09IGZhbHNlKQoJewoJCWNvdXQ8PGhlYXAudG9wKCkuZmlyc3Q8PGVuZGw7OwoJCWhlYXAucG9wKCk7Cgl9CgkKfQ==