#include<stdio.h>
#define TABLE_LEN 5
const int table[10][TABLE_LEN]=
{{},{1,2,4,5},{1,2,3},{2,3,5,6},
{1,4,7},{2,4,5,6,8},{3,6,9},
{4,5,7,8},{7,8,9},{5,6,8,9}};
int state[10];
int times[10],min=0x7FFFFFFF,ans_times[10];
bool isFirst=true;
void deal(int k,int total)
{
if (k==10)
{
for (int i=1;i<=9;i++)
if (state[i]&3)
return;
if (total<min)
{
min=total;
for (int i=1;i<=9;i++)
ans_times[i]=times[i];
}
return;
}
for (times[k]=0;times[k]<4;times[k]++)
{
for (int i=0;i<TABLE_LEN;i++)
state[table[k][i]]+=times[k];
deal(k+1,total+times[k]);
for (int i=0;i<TABLE_LEN;i++)
state[table[k][i]]-=times[k];
}
return;
}
int main()
{
for (int i=1;i<=9;i++)
scanf("%d",&state[i]);
deal(1,0);
for (int i=1;i<=9;i++)
for (int j=0;j<ans_times[i];j++)
{
if (isFirst)
isFirst=false;
else
printf(" ");
printf("%d",i);
}
printf("\n");
return 0;
}