#include <iostream>
#include <queue>
#include <stack>
#include <vector>
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <string>
#include <cmath>
#include <complex>
#include <map>
using namespace std;

#define rep(i,n) for(int i=0;i<int(n);++i)
#define ALL(v) (v).begin(),(v).end()
#define PB push_back
#define EPS 1e-8
#define F first
#define S second

static const double PI=6*asin(0.5);
typedef pair<double,double> P;
typedef complex<double> CP;
typedef long long ll;

int m[3][3];
string s;

int main(){
	while(cin>>s){
		int res=-1;
		rep(i,9){
			int t;
			if(s[i]=='o') t=0;
			else if(s[i]=='x') t=1;
			else if(s[i]=='s') t=-1;
			m[i/3][i%3]=t;
		}
		rep(i,2){
			bool f=false;
			rep(j,3){
				if(m[j][0]==i&&m[j][1]==i&&m[j][2]==i) f=true;
				if(m[0][j]==i&&m[1][j]==i&&m[2][j]==i) f=true;
			}
			if(m[0][0]==i&&m[1][1]==i&&m[2][2]==i) f=true;
			if(m[2][0]==i&&m[1][1]==i&&m[0][2]==i) f=true;
			if(f){
				res=i;
				break;
			}
		}
		if(res==0) cout<<"o\n";
		else if(res==1) cout<<"x\n";
		else if(res==-1) cout<<"d\n";
	}
	return 0;
}