#include using namespace std; using ll=long long; using ld=long double; #define rep(i,n) for(ll i=0;i=0;i--) #define rep1(i,n) for(ll i=1;i<=n;i++) #define rep_lt(i,j,k) for(ll i=j;i void vcout(const Vec& vec){ for(auto& v:vec) cout< void vcout_val(const Vec& vec){ for(auto& v:vec) cout< void vvcout(const Vec& vec){ for(auto& v:vec){ for(auto& k:v) cout< void vvcout_s(const Vec& vec){ for(auto& v:vec){ for(auto& k:v) cout< void vvcout_val(const Vec& vec){ for(auto& v:vec){ for(auto& k:v) cout< void chmax(T& a,const U& b){ if(a void chmin(T& a,const U& b) { if(a>b) a=b; } struct FastIO{ FastIO(){ ios::sync_with_stdio(false); cin.tie(nullptr); } }fastio; void YN(bool state){cout<<(state?"Yes\n":"No\n");} void CY(bool state){if(state)cout<<"Yes"< using namespace atcoder; using mint=modint998244353; //using mint=modint1000000007; using T=tuple; using P=pair; //考察 int main(){ ll h,w; cin>>h>>w; vector s(h); rep(i,h) cin>>s[i]; const string right="yiwiy9"; const string left="9yiwiy"; ll n=right.size(); vector ans=s; rep(i,h)rep(j,w-n+1){ string t=s[i].substr(j,n); if(t==right){ ans[i][j+4]='Y'; rep(k,n) s[i][j+k]='.'; } if(t==left){ ans[i][j+1]='Y'; rep(k,n) s[i][j+k]='.'; } } vvcout(ans); return 0; }