#include <iostream>
using namespace std;
class Heap
{
public:
Heap(int max_size)
{
t=new int[max_size+1];
current_size=0;
};
//**********************************************
void insert_int(int x)
{
t[++current_size]=x;
GoUp();
}
//**********************************************
void GoUp()
{
int temp=t[current_size];
int n=current_size;
while((n!=1) && (t[n/2]<=temp))
{
t[n]=t[n/2];
n=n/2;
}
t[n]=temp;
}
//**********************************************
int get_first()
{
int x=t[1];
t[1]=t[current_size--];
GoDown();
return x;
}
//**********************************************
void GoDown()
{
int i=1;
while(true)
{
int p=2*i;
if(p>current_size)
break;
if(p+1<=current_size)
if(t[p]<t[p+1])
p++;
if(t[i]>=t[p])
break;
int temp=t[p];
t[p]=t[i];
t[i]=temp;
i=p;
}
}
private:
int *t;
int current_size;
};
int main()
{
Heap S(13);
cout << "Fajnie" << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgSGVhcAp7CiAgICBwdWJsaWM6CiAgICAgICAgSGVhcChpbnQgbWF4X3NpemUpCiAgICAgICAgewogICAgICAgICAgICB0PW5ldyBpbnRbbWF4X3NpemUrMV07CiAgICAgICAgICAgIGN1cnJlbnRfc2l6ZT0wOwogICAgICAgIH07CiAKICAgICAgICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgICB2b2lkIGluc2VydF9pbnQoaW50IHgpCiAgICAgICAgewogICAgICAgICAgICB0WysrY3VycmVudF9zaXplXT14OwogICAgICAgICAgICBHb1VwKCk7CiAgICAgICAgfQogICAgICAgIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAgIHZvaWQgR29VcCgpCiAgICAgICAgewogICAgICAgICAgICBpbnQgdGVtcD10W2N1cnJlbnRfc2l6ZV07CiAgICAgICAgICAgIGludCBuPWN1cnJlbnRfc2l6ZTsKIAogICAgICAgICAgICB3aGlsZSgobiE9MSkgJiYgKHRbbi8yXTw9dGVtcCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRbbl09dFtuLzJdOwogICAgICAgICAgICAgICAgbj1uLzI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdFtuXT10ZW1wOwogICAgICAgIH0KICAgICAgICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgICBpbnQgZ2V0X2ZpcnN0KCkKICAgICAgICB7CiAgICAgICAgICAgIGludCB4PXRbMV07CiAgICAgICAgICAgIHRbMV09dFtjdXJyZW50X3NpemUtLV07CiAKICAgICAgICAgICAgR29Eb3duKCk7CiAgICAgICAgICAgIHJldHVybiB4OwogICAgICAgIH0KICAgICAgICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgICB2b2lkIEdvRG93bigpCiAgICAgICAgewogICAgICAgICAgICBpbnQgaT0xOwogICAgICAgICAgICB3aGlsZSh0cnVlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpbnQgcD0yKmk7CiAgICAgICAgICAgICAgICBpZihwPmN1cnJlbnRfc2l6ZSkKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGlmKHArMTw9Y3VycmVudF9zaXplKQogICAgICAgICAgICAgICAgICAgIGlmKHRbcF08dFtwKzFdKQogICAgICAgICAgICAgICAgICAgICAgICBwKys7CiAgICAgICAgICAgICAgICBpZih0W2ldPj10W3BdKQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICAgICBpbnQgdGVtcD10W3BdOwogICAgICAgICAgICAgICAgdFtwXT10W2ldOwogICAgICAgICAgICAgICAgdFtpXT10ZW1wOwogCiAgICAgICAgICAgICAgICBpPXA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAKIAogICAgcHJpdmF0ZToKICAgICAgICBpbnQgKnQ7CiAgICAgICAgaW50IGN1cnJlbnRfc2l6ZTsKfTsKCmludCBtYWluKCkgCnsKCUhlYXAgUygxMyk7Cgljb3V0IDw8ICJGYWpuaWUiIDw8IGVuZGw7CglyZXR1cm4gMDsKfQ==