/*
#include <stdio.h>
int arr[4]={};
int f(int a){
if(arr[1] == 0){
arr[1] = a;
return;
}
if(a<=arr[1]){
if(arr[2]==0){
arr[2]=a;
return;
}
else if(arr[2]<=a){
arr[3]= arr[1];
arr[1]= a;
return;
}
else if(a<=arr[2]){
arr[3]= arr[1];
arr[1]= arr[2];
arr[2]= a;
return;
}
}
if(a>=arr[1]){
if(arr[3]==0){
arr[3]=a;
return;
}
else if(arr[3]>=a){
arr[2]= arr[1];
arr[1]= a;
return;
}
else if(a>=arr[3]){
arr[2]= arr[1];
arr[1]= arr[3];
arr[3]= a;
return;
}
}
}
void pri(){
printf("%d\n%d %d", arr[1], arr[2], arr[3]);
return;
}
int main()
{
int a;
for(int i=0;i<3;i++){
scanf("%d", &a);
f(a);
}
pri();
}
#include <stdio.h>
int arr[8]={};
int l[4]={};
int r[4]={};
void g(int b){
if(l[1]==0){
l[1]=b;
return;
}
if(b<=l[1]){
if(l[2]==0){
l[2]=b;
return;
}
else if(l[2]<=b){
l[3]=l[1];
l[1]= b;
return;
}
else if(b<l[2]){
l[3]= l[1];
l[1]= l[2];
l[2]= b;
return;
}
}
if(b>l[1]){
if(l[3]==0){
l[3]=b;
return;
}
else if(l[3]>=b){
l[2]= l[1];
l[1]= b;
return;
}
else if(b>l[3]){
l[2]= l[1];
l[1]= l[3];
l[3]= b;
return;
}
}
}
void h(int c){
if(r[1]==0){
r[1]=c;
return;
}
if(c<=r[1]){
if(r[2]==0){
r[2]=c;
return;
}
else if(r[2]<=c){
r[3]=r[1];
r[1]= c;
return;
}
else if(c<r[2]){
r[3]= r[1];
r[1]= r[2];
r[2]= c;
return;
}
}
if(c>r[1]){
if(r[3]==0){
r[3]=c;
return;
}
else if(r[3]>=c){
r[2]= r[1];
r[1]= c;
return;
}
else if(c>r[3]){
r[2]= r[1];
r[1]= r[3];
r[3]= c;
return;
}
}
}
void f(int a){
if(arr[1] == 0){
arr[1] = a;
return;
}
if(a<=arr[1]){
if(l[1]!=0&&l[2]!=0&&l[3]!=0){
if(a<=l[3]){
h(arr[1]);
arr[1] = l[3];
l[3] = 0;
g(a);
return;
}
else{
h(arr[1]);
arr[1] = a;
return;
}
}
g(a);
return;
}
if(a>arr[1]){
if(r[1]!=0&&r[2]!=0&&r[3]!=0){
if(a>=r[2]){
g(arr[1]);
arr[1] = r[2];
r[2] = 0;
h(a);
return;
}
else{
g(arr[1]);
arr[1] = a;
return;
}
}
h(a);
return;
}
}
void set1(){
arr[2] = l[1];
arr[3] = r[1];
arr[4] = l[2];
arr[5] = l[3];
arr[6] = r[2];
arr[7] = r[3];
return;
}
void pri(){
printf("\n\n %d\n %d %d\n%d %d %d %d\n\n", arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7]);
return;
}
int main()
{
int a;
for(int i=0;i<7;i++){
scanf("%d", &a);
f(a);
}
set1();
pri();
return 0;
}
*/
#include <stdio.h>
int arr[16]={};
int l[8]={};
int ll[4]={};
int lr[4]={};
int r[8]={};
int rl[4]={};
int rr[4]={};
void set2(){
l[2] = ll[1];
l[3] = lr[1];
l[4] = ll[2];
l[5] = ll[3];
l[6] = lr[2];
l[7] = lr[3];
return;
}
void set3(){
r[2] = rl[1];
r[3] = rr[1];
r[4] = rl[2];
r[5] = rl[3];
r[6] = rr[2];
r[7] = rr[3];
return;
}
void set1(){
arr[2] = l[1];
arr[3] = r[1];
arr[4] = l[2];
arr[5] = l[3];
arr[6] = r[2];
arr[7] = r[3];
arr[8] = l[4];
arr[9] = l[5];
arr[10] = l[6];
arr[11] = l[7];
arr[12] = r[4];
arr[13] = r[5];
arr[14] = r[6];
arr[15] = r[7];
return;
}
void pri(){
printf("\n\n %d\n %d %d\n %d %d %d %d\n%d %d %d %d %d %d %d %d\n\n", arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7], arr[8], arr[9], arr[10], arr[11], arr[12], arr[13], arr[14], arr[15]);
return;
}
void gg(int bl){
if(ll[1]==0){
ll[1]=bl;
set2();
printf("\n<<gg-ll1>>\n");
set1();
pri();
return;
}
if(bl<=ll[1]){
if(ll[2]==0){
ll[2]=bl;
set2();
printf("\n<<gg-11>>\n");
set1();
pri();
return;
}
else if(ll[2]<=bl){
ll[3]=ll[1];
ll[1]= bl;
set2();
printf("\n<<gg-12>>\n");
set1();
pri();
return;
}
else if(bl<ll[2]){
ll[3]= ll[1];
ll[1]= ll[2];
ll[2]= bl;
set2();
printf("\n<<gg-13>>\n");
set1();
pri();
return;
}
}
if(bl>ll[1]){
if(ll[3]==0){
ll[3]=bl;
set2();
printf("\n<<gg-21>>\n");
set1();
pri();
return;
}
else if(ll[3]>=bl){
ll[2]= ll[1];
ll[1]= bl;
set2();
printf("\n<<gg-22>>\n");
set1();
pri();
return;
}
else if(bl>ll[3]){
ll[2]= ll[1];
ll[1]= ll[3];
ll[3]= bl;
set2();
printf("\n<<gg-23>>\n");
set1();
pri();
return;
}
}
}
void gh(int br){
if(lr[1]==0){
lr[1]=br;
set2();
printf("\n<<gh-lr1>>\n");
set1();
pri();
return;
}
if(br<=lr[1]){
if(lr[2]==0){
lr[2]=br;
set2();
printf("\n<<gh-11>>\n");
set1();
pri();
return;
}
else if(lr[2]<=br){
lr[3]=lr[1];
lr[1]= br;
set2();
printf("\n<<gh-12>>\n");
set1();
pri();
return;
}
else if(br<lr[2]){
lr[3]= lr[1];
lr[1]= lr[2];
lr[2]= br;
set2();
printf("\n<<gh-13>>\n");
set1();
pri();
return;
}
}
if(br>lr[1]){
if(lr[3]==0){
lr[3]=br;
set2();
printf("\n<<gh-21>>\n");
set1();
pri();
return;
}
else if(lr[3]>=br){
lr[2]= lr[1];
lr[1]= br;
set2();
printf("\n<<gh-22>>\n");
set1();
pri();
return;
}
else if(br>lr[3]){
lr[2]= lr[1];
lr[1]= lr[3];
lr[3]= br;
set2();
printf("\n<<gh-23>>\n");
set1();
pri();
return;
}
}
}
void g(int b){
if(l[1] == 0){
l[1] = b;
printf("\n<<g-l1>>\n");
set1();
pri();
return;
}
if(b<=l[1]){
if(ll[1]!=0&&ll[2]!=0&&ll[3]!=0){
if(b<=ll[3]){
printf("\n<<g-11>>\n");
gh(l[1]);
l[1] = ll[3];
ll[3] = 0;
gg(b);
return;
}
else{
printf("\n<<g-12>>\n");
gh(l[1]);
l[1] = b;
return;
}
}
printf("\n<<g-1>>\n");
gg(b);
return;
}
if(b>l[1]){
if(lr[1]!=0&&lr[2]!=0&&lr[3]!=0){
if(b>=lr[2]){
printf("\n<<g-21>>\n");
gg(l[1]);
l[1] = lr[2];
lr[2] = 0;
gh(b);
return;
}
else{
printf("\n<<g-22>>\n");
gg(l[1]);
l[1] = b;
return;
}
}
printf("\n<<g-2>>\n");
gh(b);
return;
}
}
void hg(int cl){
if(rl[1]==0){
rl[1]=cl;
set3();
printf("\n<<hg-rl1>>\n");
set1();
pri();
return;
}
if(cl<=rl[1]){
if(rl[2]==0){
rl[2]=cl;
set3();
printf("\n<<hg-11>>\n");
set1();
pri();
return;
}
else if(rl[2]<=cl){
rl[3]=rl[1];
rl[1]= cl;
set3();
printf("\n<<hg-12>>\n");
set1();
pri();
return;
}
else if(cl<rl[2]){
rl[3]= rl[1];
rl[1]= rl[2];
rl[2]= cl;
set3();
printf("\n<<hg-13>>\n");
set1();
pri();
return;
}
}
if(cl>rl[1]){
if(rl[3]==0){
rl[3]=cl;
set3();
printf("\n<<hg-21>>\n");
set1();
pri();
return;
}
else if(rl[3]>=cl){
rl[2]= rl[1];
rl[1]= cl;
set3();
printf("\n<<hg-22>>\n");
set1();
pri();
return;
}
else if(cl>rl[3]){
rl[2]= rl[1];
rl[1]= rl[3];
rl[3]= cl;
set3();
printf("\n<<hg-23>>\n");
set1();
pri();
return;
}
}
}
void hh(int cr){
if(rr[1]==0){
rr[1]=cr;
set3();
printf("\n<<hh-rr1>>\n");
set1();
pri();
return;
}
if(cr<=rr[1]){
if(rr[2]==0){
rr[2]=cr;
set3();
printf("\n<<hh-11>>\n");
set1();
pri();
return;
}
else if(rr[2]<=cr){
rr[3]=rr[1];
rr[1]= cr;
set3();
printf("\n<<hh-12>>\n");
set1();
pri();
return;
}
else if(cr<rr[2]){
rr[3]= rr[1];
rr[1]= rr[2];
rr[2]= cr;
set3();
printf("\n<<hh-13>>\n");
set1();
pri();
return;
}
}
if(cr>rr[1]){
if(rr[3]==0){
rr[3]=cr;
set3();
printf("\n<<hh-21>>\n");
set1();
pri();
return;
}
else if(rr[3]>=cr){
rr[2]= lr[1];
rr[1]= cr;
set3();
printf("\n<<hh-22>>\n");
set1();
pri();
return;
}
else if(cr>rr[3]){
rr[2]= rr[1];
rr[1]= rr[3];
rr[3]= cr;
set3();
printf("\n<<hh-23>>\n");
set1();
pri();
return;
}
}
}
void h(int c){
if(r[1] == 0){
r[1] = c;
printf("\n<<h-r1>>\n");
set1();
pri();
return;
}
if(c<=r[1]){
if(rl[1]!=0&&rl[2]!=0&&rl[3]!=0){
if(c<=rl[3]){
printf("\n<<h-11>>\n");
hh(l[1]);
r[1] = rl[3];
rl[3] = 0;
hg(c);
return;
}
else{
printf("\n<<h-12>>\n");
hh(l[1]);
r[1] = c;
return;
}
}
printf("\n<<hh-1>>\n");
hg(c);
return;
}
if(c>r[1]){
if(rr[1]!=0&&rr[2]!=0&&rr[3]!=0){
if(c>=rr[2]){
printf("\n<<h-21>>\n");
hg(r[1]);
rr[1] = rr[2];
rr[2] = 0;
hh(c);
return;
}
else{
printf("\n<<h-22>>\n");
hg(r[1]);
r[1] = c;
return;
}
}
printf("\n<<h-2>>\n");
hh(c);
return;
}
}
void f(int a){
if(arr[1] == 0){
arr[1] = a;
printf("\n<<f-arr1>>\n");
set1();
pri();
return;
}
if(a<=arr[1]){
if(l[1]!=0&&l[2]!=0&&l[3]!=0&&l[4]!=0&&l[5]!=0&&l[6]!=0&&l[7]!=0){
if(a<=l[7]){
h(arr[1]);
arr[1] = l[7];
l[7] = 0;
g(a);
printf("\n<<f-11>>\n");
set1();
pri();
return;
}
else{
h(arr[1]);
arr[1] = a;
printf("\n<<f-12>>\n");
set1();
pri();
return;
}
}
printf("\n<<f-1>>\n");
set1();
pri();
g(a);
return;
}
if(a>arr[1]){
if(r[1]!=0&&r[2]!=0&&r[3]!=0&&r[4]!=0&&r[5]!=0&&r[6]!=0&&r[7]!=0){
if(a>=r[4]){
g(arr[1]);
arr[1] = r[4];
r[4] = 0;
h(a);
printf("\n<<f-21>>\n");
set1();
pri();
return;
}
else{
g(arr[1]);
arr[1] = a;
printf("\n<<f-22>>\n");
set1();
pri();
return;
}
}
printf("\n<<f-2>>\n");
set1();
pri();
h(a);
return;
}
}
int main()
{
int a;
for(int i=0;i<15;i++){
scanf("%d", &a);
f(a);
}
set1();
pri();
return 0;
}