#include<iostream>
using namespace std;
char t[8][8];

int func(int y,int x,char ch){
  int res=0;
  int cnt=0;
  for(int Y=y+1;;Y++){
    if(Y>=8)break;
    if(t[Y][x]==ch){ res+=cnt;   break; }
    if(t[Y][x]=='.')break;
    cnt++;
  }

  cnt=0;
  for(int Y=y-1;;Y--){
    if(Y<0)break;
    if(t[Y][x]==ch){ res+=cnt;   break; }
    if(t[Y][x]=='.')break;
    cnt++;
  }

  cnt=0;
 for(int X=x+1;;X++){
    if(X>=8)break;
    if(t[y][X]==ch){ res+=cnt;   break; }
    if(t[y][X]=='.')break;
    cnt++;
  }

  cnt=0;
  for(int X=x-1;;X--){
    if(X<0)break;
    if(t[y][X]==ch){ res+=cnt;   break; }
    if(t[y][X]=='.')break;
    cnt++;
  }


  cnt=0;
  for(int X=x+1,Y=y+1;;X++,Y++){
    if(X>=8||Y>=8)break;
    if(t[Y][X]==ch){ res+=cnt;   break; }
    if(t[Y][X]=='.')break;
    cnt++;
  }

  cnt=0;
  for(int X=x+1,Y=y-1;;X++,Y--){
    if(X>=8||Y<0)break;
    if(t[Y][X]==ch){ res+=cnt;   break; }
    if(t[Y][X]=='.')break;
    cnt++;
  }



  cnt=0;
  for(int X=x-1,Y=y+1;;X--,Y++){
    if(X<0||Y>=8)break;
    if(t[Y][X]==ch){ res+=cnt;   break; }
    if(t[Y][X]=='.')break;
    cnt++;
  }

  cnt=0;
  for(int X=x-1,Y=y-1;;X--,Y--){
    if(X<0||Y<0)break;
    if(t[Y][X]==ch){ res+=cnt;   break; }
    if(t[Y][X]=='.')break;
    cnt++;
  }


  return res;
}

void func2(int y,int x,char ch){
  int flg=0;
  for(int Y=y+1;;Y++){
    if(Y>=8)break;
    if(t[Y][x]==ch){flg=1;break; }
    if(t[Y][x]=='.')break;
  }
  if(flg){
    for(int Y=y+1;;Y++){
      if(Y>=8)break;
      if(t[Y][x]==ch)break; 
      if(t[Y][x]=='.')break;
      t[Y][x]=ch;
    }
  }

  flg=0;
  for(int Y=y-1;;Y--){
    if(Y<0)break;
    if(t[Y][x]==ch){flg=1;break; }
    if(t[Y][x]=='.')break;
  }
  if(flg){
    for(int Y=y-1;;Y--){
      if(Y<0)break;
      if(t[Y][x]==ch)break; 
      if(t[Y][x]=='.')break;
      t[Y][x]=ch;
    }
  }

  flg=0;
  for(int X=x+1;;X++){
    if(X>=8)break;
    if(t[y][X]==ch){flg=1;break;}
    if(t[y][X]=='.')break;
  }
  if(flg){
    for(int X=x+1;;X++){
      if(X>=8)break;
      if(t[y][X]==ch)break;
      if(t[y][X]=='.')break;
      t[y][X]=ch;
    }
  }

  flg=0;
  for(int X=x-1;;X--){
    if(X<0)break;
    if(t[y][X]==ch){flg=1;break; }
    if(t[y][X]=='.')break;
  }
  if(flg){
    for(int X=x-1;;X--){
      if(X<0)break;
      if(t[y][X]==ch)break;
      if(t[y][X]=='.')break;
      t[y][X]=ch;
    }
  }


  flg=0;
  for(int X=x+1,Y=y+1;;X++,Y++){
    if(X>=8||Y>=8)break;
    if(t[Y][X]==ch){flg=1;break; }
    if(t[Y][X]=='.')break;
  }
  if(flg){
    for(int X=x+1,Y=y+1;;X++,Y++){
      if(X>=8||Y>=8)break;
      if(t[Y][X]==ch)break;
      if(t[Y][X]=='.')break;
      t[Y][X]=ch;
    }
  }

  flg=0;
  for(int X=x+1,Y=y-1;;X++,Y--){
    if(X>=8||Y<0)break;
    if(t[Y][X]==ch){flg=1;break; }
    if(t[Y][X]=='.')break;
  }
  if(flg){  
    for(int X=x+1,Y=y-1;;X++,Y--){
      if(X>=8||Y<0)break;
      if(t[Y][X]==ch)break;
      if(t[Y][X]=='.')break;
      t[Y][X]=ch;
    }
  }


  flg=0;
  for(int X=x-1,Y=y+1;;X--,Y++){
    if(X<0||Y>=8)break;
    if(t[Y][X]==ch){flg=1;break; }
    if(t[Y][X]=='.')break;
  }
  if(flg){
    for(int X=x-1,Y=y+1;;X--,Y++){
      if(X<0||Y>=8)break;
      if(t[Y][X]==ch)break;
      if(t[Y][X]=='.')break;
      t[Y][X]=ch;
    }
  }

  flg=0;
  for(int X=x-1,Y=y-1;;X--,Y--){
    if(X<0||Y<0)break;
    if(t[Y][X]==ch){flg=1;break; }
    if(t[Y][X]=='.')break;
  }
  if(flg){
    for(int X=x-1,Y=y-1;;X--,Y--){
      if(X<0||Y<0)break;
      if(t[Y][X]==ch)break;
      if(t[Y][X]=='.')break;
      t[Y][X]=ch;
    }
  }

}

int main(){
  for(int i=0;i<8;i++)
    for(int j=0;j<8;j++)
      cin>>t[i][j];

  int cnt=0;
  for(int i=0;;i++){
    
    char ch=(i%2?'x':'o');
    

    int ay,ax,maxm=0;
    if(ch=='o'){
      for(int j=0;j<8;j++){
	for(int k=0;k<8;k++){
	  if(t[j][k]!='.')continue;
	  int x=func(j,k,ch);
	
	  if(x>maxm){
	    maxm=x;
	    ay=j;
	    ax=k;
	  }
	}
      }
    }else{
      for(int j=7;j>=0;j--){
	for(int k=7;k>=0;k--){
	  if(t[j][k]!='.')continue;
	  int x=func(j,k,ch);
	
	  if(x>maxm){
	    maxm=x;
	    ay=j;
	    ax=k;
	  }
	}
      }

    }

    if(maxm==0){
      cnt++;
      if(cnt==2)break;
      continue;
    }else cnt=0;

    // cout<<ay<<' '<<ax<<endl;

    t[ay][ax]=ch;
    func2(ay,ax,ch);
    
  }//i

  for(int i=0;i<8;i++){
    for(int j=0;j<8;j++)cout<<t[i][j];
    cout<<endl;
  }
  return 0;
}

Measured memory_bytes: 1140