#include<bits/stdc++.h>
using namespace std;
int tail=1,a[100];
void insert(int x){//建立一个大根堆 (向上调整)
a[tail]=x;
int i=tail/2,j=tail;
while(i>0){
if(a[i]>a[j]){
int t=a[i];
a[i]=a[j];
a[j]=t;
j=i;
i/=2;
}else{
break;
}
}
tail++;
}
void dete(){
a[1]=a[tail-1];
tail--;
int i=1;
while(i*2<tail){
int j=i*2;
if(j+1<tail&&a[j]<a[j+1])j++;
a[i]=a[j];
}
}
int main(){
int t;
for(int i=1;i<=5;i++){
cin>>t;
insert(t);
for(int j=1;j<tail;j++)cout<<a[j]<<"******"<<endl;
}
cout<<tail<<endl;
dete();
for(int i=1;i<tail;i++)cout<<"OKOKOK"<<a[i]<<endl;
cout<<endl;
return 0;
}