#include<cstdio>
#include<fstream>
#include<iostream>
#include<iomanip>
#include<algorithm>
#include<vector>
#include<bitset>
#include<deque>
#include<queue>
#include<set>
#include<map>
#include<cmath>
#include<cstring>
#include<ctime>
#include<cstdlib>
#include<unordered_map>

#define ll long long
#define pb push_back
#define mp make_pair
#define pii pair<int,int>
#define pll pair<ll,ll>
#define all(x) (x).begin(), (x).end()
#define fi first
#define se second

using namespace std;

int i, j, x, y, newx, newy, mlc, cnt;
char s[20][20], t[20][20], B[1005], a[30];
bool viz[16][16];
pii  A[1005];

int dx[] = { -1, 0, 0, 1};
int dy[] = {0, -1, 1, 0};

deque<pii> q;

void fill()
{
    cnt = 0;
    memset(viz, 0, sizeof(viz));
    char col = s[1][1];
    q.pb(mp(1, 1));
    while(!q.empty())
    {
        x = q.front().fi;
        y = q.front().se;
        q.pop_front();
        A[++cnt] = mp(x, y);
        for(int k = 0; k < 4; k++)
        {
            newx = x + dx[k];
            newy = y + dy[k];
            if(!viz[newx][newy] && s[newx][newy] == col)
            {
                viz[newx][newy] = 1;
                q.pb(mp(newx, newy));
            }
        }
    }

    mlc = 0;
    for(int i = 1; i <= cnt; i++)
        for(int k = 0; k < 4; k++)
        {
            newx = A[i].fi + dx[k];
            newy = A[i].se + dy[k];
            if(newx >= 1 && newx <= 14 && newy >= 1 && newy <= 14 && !viz[newx][newy])
                B[++mlc] = s[newx][newy];
        }
}

void color(char x)
{
    for(int i = 1; i <= cnt; i++)
        s[A[i].fi][A[i].se] = x;
}

bool check()
{
    char col = s[1][1];

    for(int i = 1; i <= 14; i++)
        for(int j = 1; j <= 14; j++)
            if(s[i][j] != col)
                return 0;

    return 1;
}

int main()
{
    srand(time(0));

    //    freopen("test.in", "r", stdin);
//    freopen("test.out", "w", stdout);

    for(i = 1; i <= 14; i++)
        scanf("%s", t[i] + 1);

    for(int I = 1; I <= 50000; I++)
    {
        for(int i = 1; i <= 14; i++)
            for(int j = 1; j <= 14; j++)
                s[i][j] = t[i][j];

        for(i = 1; i <= 25; i++)
        {
            fill();
            if(!mlc)
            {
                a[i] = '0';
                for(j = 1; j <= i; j++)
                    printf("%d ", a[j] - '0');
                return 0;
            }
            a[i] = B[1 + rand() % mlc];
            color(a[i]);

            if(check())
            {
                for(j = 1; j <= i; j++)
                    printf("%d ", a[j] - '0');
                return 0;
            }
        }
    }

    return 0;
}