#include <iostream>
using namespace std;
#include<bits/stdc++.h>
//#define int long long
//priority_queue <int> q; //maximum priority// top
//priority_queue <int, vector<int>, greater<int>> a; //min priority
//queue<int>q
//stack<int>stack
//unorderd_map<int,int>hash;
//set<int>s; s.insert(4);for(auto it:v) cout<<it
//if((s.find(x) != s.end())) >>>true x is present in set
//sort(arr, arr + n, greater<int>());
//---------------------------------------------------------------------------
//vector<pair<int,int>>v; //v.push_back({2, map[i].second});
//bool sortinrev(const pair<int,int> &a,
// const pair<int,int> &b)
//{
// return (a.first > b.first);
//}
// cout << pair[i].first << " "<< pair[i].second << endl; //auto it:v it.first
// sort(v.begin(), v.end());
//vector<vector<int> > vec( n , vector<int> (m));
//cout<< *min_element(a.begin(), a.end()); //vector min
//vector<int>arr(n,1);
// if (binary_search(arr.begin(), arr.end(), 15)) `
// int p=lower_bound(v.begin(),v.end(),make_pair(z,0))-v.begin();
// myvector.back();
//--------------------------------------------------------------------------------
//dfs || bfs ||rec||dp||binarySearch
//memset(arr,-1,sizeof(arr));
// printf("%.2f\n", total);
// cout << setprecision(6) << fixed <<dp[n-1] << endl; six digits after //decimal >>ex--4.675445
//pow(2,3)>>>8
//s.substr(1)// substring without first char;
//s.substr(1,3) = "Geeks";eek Copy three characters of s1 (starting from position 1)
// getline(cin, S);
typedef long long ll;
//O(N) – 10^8<<O(N^2) – 10^4>>O(logN) – very big number
// __gcd(m, n)
// for (int i = 0; i <= n; i++) subset[i][0] = true; column zero (neche) vertical
#define mod 1000000007
int visited[10000][10000];
void dfs(vector<vector<char>>& board,int r ,int c ,int n )
{
if(r>=n ||r<0 || c>=n ||c<0 || visited[r][c] )
{
return ;
}
visited[r][c]=1;
dfs( board, r+1 , c , n);
dfs( board, r-1 , c , n);
dfs( board, r , c+1 , n);
dfs( board, r , c-1 , n);
if(board[r][c]=='o' && r!=n-1 && c!=n-1 && r!=0 && c!=0)
{
board[r][c]='x' ;
}
}
void solve(vector<vector<char>>& board)
{
int n = board.size();
memset(visited,0,sizeof(visited));
dfs(board, 0 ,0 , n);
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
vector<vector<char>> vect
{
{'o', 'o', 'o','o'},
{'o', 'o', 'o','o'},
{'o', 'o', 'o','o'},
{'o', 'o', 'o','o'},
};
solve( vect);
for (int i = 0; i < vect.size(); i++)
{
for (int j = 0; j < vect[i].size(); j++)
{
cout << vect[i][j] << " ";
}
cout << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgovLyNkZWZpbmUgaW50IGxvbmcgbG9uZyAgCi8vcHJpb3JpdHlfcXVldWUgPGludD4gcTsgLy9tYXhpbXVtIHByaW9yaXR5Ly8gdG9wIAovL3ByaW9yaXR5X3F1ZXVlIDxpbnQsIHZlY3RvcjxpbnQ+LCBncmVhdGVyPGludD4+IGE7IC8vbWluIHByaW9yaXR5Ci8vcXVldWU8aW50PnEKLy9zdGFjazxpbnQ+c3RhY2sKLy91bm9yZGVyZF9tYXA8aW50LGludD5oYXNoOwovL3NldDxpbnQ+czsgcy5pbnNlcnQoNCk7Zm9yKGF1dG8gaXQ6dikgY291dDw8aXQKLy9pZigocy5maW5kKHgpICE9IHMuZW5kKCkpKSAgPj4+dHJ1ZSB4IGlzIHByZXNlbnQgaW4gc2V0Ci8vc29ydChhcnIsIGFyciArIG4sIGdyZWF0ZXI8aW50PigpKTsgCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vdmVjdG9yPHBhaXI8aW50LGludD4+djsgLy92LnB1c2hfYmFjayh7MiwgbWFwW2ldLnNlY29uZH0pOwovL2Jvb2wgc29ydGlucmV2KGNvbnN0IHBhaXI8aW50LGludD4gJmEsICAKLy8gICAgICAgICAgICAgICBjb25zdCBwYWlyPGludCxpbnQ+ICZiKSAKLy97IAogLy8gICAgICByZXR1cm4gKGEuZmlyc3QgPiBiLmZpcnN0KTsgCi8vfSAKCi8vIGNvdXQgPDwgcGFpcltpXS5maXJzdCA8PCAiICI8PCBwYWlyW2ldLnNlY29uZCA8PCBlbmRsOyAvL2F1dG8gaXQ6diAgaXQuZmlyc3QKLy8gc29ydCh2LmJlZ2luKCksIHYuZW5kKCkpOyAKLy92ZWN0b3I8dmVjdG9yPGludD4gPiB2ZWMoIG4gLCB2ZWN0b3I8aW50PiAobSkpOyAgCi8vY291dDw8ICptaW5fZWxlbWVudChhLmJlZ2luKCksIGEuZW5kKCkpOyAvL3ZlY3RvciBtaW4KLy92ZWN0b3I8aW50PmFycihuLDEpOwovLyAgaWYgKGJpbmFyeV9zZWFyY2goYXJyLmJlZ2luKCksIGFyci5lbmQoKSwgMTUpKSBgCi8vICBpbnQgcD1sb3dlcl9ib3VuZCh2LmJlZ2luKCksdi5lbmQoKSxtYWtlX3BhaXIoeiwwKSktdi5iZWdpbigpOwovLyBteXZlY3Rvci5iYWNrKCk7Ci8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy9kZnMgfHwgYmZzIHx8cmVjfHxkcHx8YmluYXJ5U2VhcmNoCi8vbWVtc2V0KGFyciwtMSxzaXplb2YoYXJyKSk7Ci8vIHByaW50ZigiJS4yZlxuIiwgdG90YWwpOwovLyBjb3V0IDw8IHNldHByZWNpc2lvbig2KSA8PCBmaXhlZCA8PGRwW24tMV0gPDwgZW5kbDsgc2l4IGRpZ2l0cyBhZnRlciAvL2RlY2ltYWwgPj5leC0tNC42NzU0NDUKLy9wb3coMiwzKT4+PjgKLy9zLnN1YnN0cigxKS8vIHN1YnN0cmluZyB3aXRob3V0IGZpcnN0IGNoYXI7IAovL3Muc3Vic3RyKDEsMykgPSAiR2Vla3MiO2VlayBDb3B5IHRocmVlIGNoYXJhY3RlcnMgb2YgczEgKHN0YXJ0aW5nIGZyb20gcG9zaXRpb24gMSkgCi8vIGdldGxpbmUoY2luLCBTKTsKdHlwZWRlZiBsb25nIGxvbmcgbGw7Ci8vTyhOKeKAieKAk+KAiTEwXjg8PE8oTl4yKeKAieKAk+KAiTEwXjQ+Pk8obG9nTinigInigJPigIkgdmVyeSBiaWcgbnVtYmVyCi8vIF9fZ2NkKG0sIG4pIAovLyBmb3IgKGludCBpID0gMDsgaSA8PSBuOyBpKyspICAgIHN1YnNldFtpXVswXSA9IHRydWU7IGNvbHVtbiB6ZXJvIChuZWNoZSkgdmVydGljYWwgIAoKI2RlZmluZSBtb2QgMTAwMDAwMDAwNwoKaW50IHZpc2l0ZWRbMTAwMDBdWzEwMDAwXTsKCnZvaWQgZGZzKHZlY3Rvcjx2ZWN0b3I8Y2hhcj4+JiBib2FyZCxpbnQgciAsaW50IGMgLGludCBuICkKewogICAgCiAgICBpZihyPj1uIHx8cjwwIHx8IGM+PW4gfHxjPDAgfHwgdmlzaXRlZFtyXVtjXSApCiAgICB7CiAgICAgICAgcmV0dXJuIDsKICAgICAgICAKICAgIH0KICAgICB2aXNpdGVkW3JdW2NdPTE7CiAgICAgZGZzKCBib2FyZCwgcisxICwgYyAsIG4pOwogICAgIGRmcyggYm9hcmQsIHItMSAsIGMgLCBuKTsKICAgICBkZnMoIGJvYXJkLCByICwgYysxICwgbik7CiAgICAgZGZzKCBib2FyZCwgciAsIGMtMSAsIG4pOwogICAgCiAgICAKICAgIAogICAgaWYoYm9hcmRbcl1bY109PSdvJyAgJiYgciE9bi0xICYmIGMhPW4tMSAgJiYgciE9MCAmJiBjIT0wKQogICAgewogICAgICAgIGJvYXJkW3JdW2NdPSd4JyA7CiAgICAgICAgCiAgICB9CiAgCiAgCiAgICAKICB9Cgp2b2lkIHNvbHZlKHZlY3Rvcjx2ZWN0b3I8Y2hhcj4+JiBib2FyZCkgCnsKICAgIGludCBuID0gYm9hcmQuc2l6ZSgpOwptZW1zZXQodmlzaXRlZCwwLHNpemVvZih2aXNpdGVkKSk7CiAgICAKICAgICBkZnMoYm9hcmQsIDAgLDAgLCBuKTsKICAgIAogICAgCn0KCgoKCgppbnQgbWFpbigpIHsKaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwogICAgCiAgICAgdmVjdG9yPHZlY3RvcjxjaGFyPj4gdmVjdAogICAgewogICAgICAgIHsnbycsICdvJywgJ28nLCdvJ30sCiAgICAgICAgeydvJywgJ28nLCAnbycsJ28nfSwKICAgICAgICB7J28nLCAnbycsICdvJywnbyd9LAogICAgICAgIHsnbycsICdvJywgJ28nLCdvJ30sCgogICAgfTsKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgc29sdmUoIHZlY3QpOwogICAgCiAgICAKICAgIAogICAgCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgdmVjdC5zaXplKCk7IGkrKykKICAgIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IHZlY3RbaV0uc2l6ZSgpOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8IHZlY3RbaV1bal0gPDwgIiAiOwogICAgICAgIH0gICAgCiAgICAgICAgY291dCA8PCBlbmRsOwogICAgfQogCiAKCgoKCgoKICAgIAoKCgoKCgoKCgoKCn0=