#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n,x,max=-1;
cin>>n;
vector <pair < int,int> >v,m;
v.resize(n);
m.resize(n);
int flag=-1;
for(int i=0;i<n;++i){
cin>>x;
v[i].first=x;
v[i].second=i;
m[i].first=-v[i].first;
m[i].second=-v[i].second;
// v.push_back(make_pair(x,i));
// m.push_back(make_pair(x,i));
}
sort(m.begin(),m.end());
cout<<v[0].first<<endl<<m[0].first<< " " <<m[1].first<<" "<<m[2].first<<endl;
int plus=0;
for(int i=0;i<n;++i){
if(i==n-1){
cout<<v[i].first;
return 0;}
if(v[i].first<-m[plus].first &&v[i].second < -m[plus].second)
cout<<v[i].first+m[plus].first+1;
else if(v[i].first==-m[plus].first && v[i].second==-m[plus].second){
cout<<0;
++plus;}
else{continue;}
// if(m[i].first==m[i+1].first && m[i+1]!=m[n-1]){
// if(m[i].second<m[i+1].second)
// cout<<v[i].first-m[i+1].first +1;}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCgppbnQgbWFpbigpIHsKaW50IG4seCxtYXg9LTE7CmNpbj4+bjsKCnZlY3RvciA8cGFpciA8IGludCxpbnQ+ID52LG07CnYucmVzaXplKG4pOwptLnJlc2l6ZShuKTsKaW50IGZsYWc9LTE7CmZvcihpbnQgaT0wO2k8bjsrK2kpewoJY2luPj54OwoJdltpXS5maXJzdD14OwoJdltpXS5zZWNvbmQ9aTsKCW1baV0uZmlyc3Q9LXZbaV0uZmlyc3Q7CgltW2ldLnNlY29uZD0tdltpXS5zZWNvbmQ7Ci8vCXYucHVzaF9iYWNrKG1ha2VfcGFpcih4LGkpKTsKLy8JbS5wdXNoX2JhY2sobWFrZV9wYWlyKHgsaSkpOwp9CnNvcnQobS5iZWdpbigpLG0uZW5kKCkpOwoKCmNvdXQ8PHZbMF0uZmlyc3Q8PGVuZGw8PG1bMF0uZmlyc3Q8PCAiICIgPDxtWzFdLmZpcnN0PDwiICI8PG1bMl0uZmlyc3Q8PGVuZGw7CgppbnQgcGx1cz0wOwpmb3IoaW50IGk9MDtpPG47KytpKXsKCWlmKGk9PW4tMSl7Cgljb3V0PDx2W2ldLmZpcnN0OwoJcmV0dXJuIDA7fQoJCglpZih2W2ldLmZpcnN0PC1tW3BsdXNdLmZpcnN0ICYmdltpXS5zZWNvbmQgPCAtbVtwbHVzXS5zZWNvbmQpCgljb3V0PDx2W2ldLmZpcnN0K21bcGx1c10uZmlyc3QrMTsKCWVsc2UgaWYodltpXS5maXJzdD09LW1bcGx1c10uZmlyc3QgJiYgdltpXS5zZWNvbmQ9PS1tW3BsdXNdLnNlY29uZCl7Cgljb3V0PDwwOwoJKytwbHVzO30KCWVsc2V7Y29udGludWU7fQovLwlpZihtW2ldLmZpcnN0PT1tW2krMV0uZmlyc3QgJiYgbVtpKzFdIT1tW24tMV0pewovLwkJaWYobVtpXS5zZWNvbmQ8bVtpKzFdLnNlY29uZCkKLy8JCWNvdXQ8PHZbaV0uZmlyc3QtbVtpKzFdLmZpcnN0ICsxO30KCQkKCn0KCglyZXR1cm4gMDsKfQ==