#include <bits/stdc++.h>
using namespace std;

const string s = "yizhong";
int dx[8] = {0, 1, 1, 1, 0, -1, -1, -1};
int dy[8] = {1, 1, 0, -1, -1, -1, 0, 1};

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    int n;
    cin >> n;
    vector<string> g(n);
    for (int i = 0; i < n; i++)
        cin >> g[i];

    // 答案方阵，先全部置 '*'，命中的格子再填回原字母
    vector<string> ans(n, string(n, '*'));

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (g[i][j] != s[0])
                continue;
            for (int d = 0; d < 8; d++)
            {
                bool ok = true;
                for (int k = 1; k < (int)s.size(); k++)
                {
                    int ni = i + dx[d] * k;
                    int nj = j + dy[d] * k;
                    if (ni < 0 || nj < 0 || ni >= n || nj >= n || g[ni][nj] != s[k])
                    {
                        ok = false;
                        break;
                    }
                }
                if (!ok)
                    continue;
                // 整条都在，把 8 个格子标记为"保留"
                for (int k = 0; k < (int)s.size(); k++)
                    ans[i + dx[d] * k][j + dy[d] * k] = s[k];
            }
        }
    }

    for (int i = 0; i < n; i++)
        cout << ans[i] << '\n';

    return 0;
}