/*
ID: raknarf1
PROG: dwite2
LANG: C++
 */

#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <fstream>
#include <ctime>

using namespace std;

int main()
{
    ifstream f ("DATA2.txt");
    ofstream out ("OUT2.txt");

    string line;

    for (int x=0; x<5; x++)
    {
        char g[3][3];
    
        for (int i=0; i<3; i++)
        {
            f >> line;
           // cout << line << endl;
            for (int j=0; j<3; j++)
                g[i][j] = line[j];
        }
       // cout << endl;

        for (int i=0; i<3; i++)
            if (g[i][0]!='.' && g[i][0]==g[i][1] && g[i][0]==g[i][2])
            {
                out << g[i][0] << endl;
                goto end;
            }

        for (int i=0; i<3; i++)
            if (g[0][i]!='.' && g[0][i]==g[1][i] && g[0][i]==g[2][i])
            {
                out << g[0][i] << endl;
                goto end;
            }

        if (g[0][0]!='.' && g[0][0]==g[1][1] && g[0][0]==g[2][2])
        {
            out << g[0][0] << endl;
            continue;
        }

        if (g[0][2]!='.' && g[0][2]==g[1][1] && g[0][2]==g[2][0])
        {
            out << g[0][2] << endl;
            continue;
        }

        out << "." << endl;
        end:
        ;
    }

    
    return 0;
}

