#include <iostream>

using namespace std;

bool test(const char c, char _c[3][3]){
        bool flag = false;
        for(int i = 0; i < 3; i++){
                bool _flag1, _flag2;
                _flag1 = _flag2 = true;
                for(int j = 0; j < 3; j++){
                        _flag1 &= _c[i][j] == c;
                        _flag2 &= _c[j][i] == c;
                }   
                flag |= _flag1 || _flag2;
        }   
        bool _flag1, _flag2;
        _flag1 = _flag2 = true;
        for(int i = 0 ; i < 3; i++){
                _flag1 &= *(*(_c+i)+i) == c;
                _flag2 &= *(*(_c+2-i)+i) == c;
        }   
        return flag || _flag1 || _flag2;
}
int main(){
        char c[10];
        while(cin >> c){ 
                char _c[3][3];
                for(int i = 0; i < 3; i++){
                        for(int j = 0; j < 3; j++){
                                _c[i][j] = c[i*3+j];
                        }   
                }   
                if(test('o', _c)) cout << 'o';
                else if(test('x', _c)) cout << 'x';
                else cout << 'd';
                cout << endl;
        }   
}