#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<string>

using namespace std;

int main(){
	char shurui[]={'o','x'},inpStr[10],math[3][3];
	int shuruiCount;
	bool flag;
	while(scanf("%s",inpStr)!=EOF){
		for(int i=0;i<3;i++){
			for(int j=0;j<3;j++){
				math[i][j]=inpStr[3*i+j];
			}
		}
		flag=false;
		
		for(int i=0;i<3 && !flag;i++){
			for(int j=0;j<3 && !flag;j++){
				for(int k=0;k<2;k++){   //種類選択


					if(shurui[k]==math[i][j]){
						shuruiCount=1;
						
						if(j==0){
							for(int u=1;u<3;u++){ //横移動
								if(math[i][u]!=shurui[k]){
									shuruiCount=1;
									break;
								}
								shuruiCount++;
							}
						}
						if(i==0 && shuruiCount==1){
							for(int u=1;u<3;u++){ //縦移動
								if(math[u][j]!=shurui[k]){
									shuruiCount=1;
									break;
								}
								shuruiCount++;
							}
						}
						if(i==0 && j==0 && shuruiCount==1){
							for(int u=1;u<3;u++){ //斜め右下移動
								if(math[i+u][j+u]!=shurui[k]){
									shuruiCount=1;
									break;
								}
								shuruiCount++;
							}
						}
						if(i==0 && j==2 && shuruiCount==1){
							for(int u=1;u<3;u++){ //斜め左下移動
								if(math[i+u][j-u]!=shurui[k]){
									shuruiCount=1;
									break;
								}
								shuruiCount++;
							}
						}
						if(shuruiCount==3){
							cout<<shurui[k]<<endl;
							flag=true;
							break;
						}
					}
				}
			}
		}
		if(!flag){
			cout<<"d"<<endl;
		}
	}
}