#![allow(unused)] #![allow(non_snake_case)] #![allow(dead_code)] macro_rules! init{ (@inner $d:tt)=>{ let input=std::io::read_to_string(std::io::stdin()).unwrap(); let mut iter=input.split_whitespace(); macro_rules! read{ ($d t:ty) => {iter.next().unwrap().parse::<$d t>().unwrap()}; ($d ($d t:ty),*) => {{ ($d (iter.next().unwrap().parse::<$d t>().unwrap(),)*)}}; ($d t:ty; $d n:expr) => {(0..$d n).map(|_|read!($d t) ).collect::>()}; ($d ($d t:ty),*; $d n:expr) => {(0..$d n).map(|_|read!($d ($d t),*)).collect::>()}; ($d t:ty; $d n:expr; $d m:expr) => {(0..$d m).map(|_|read!($d t; $d n)).collect::>()}; ($d ($d t:ty),*; $d n:expr; $d m:expr) => {(0..$d m).map(|_|read!($d ($d t),*; $d n)).collect::>()}; } }; ()=>{init!(@inner $)}; } fn main() { init!(); let (H,W)=read!(usize,usize); if W < 6{ for _ in 0..H{ let mut s:Vec=read!(String).chars().collect(); for i in 0..W{ print!("{}",s[i]); } println!(""); } return; } for _ in 0..H{ let mut s:Vec=read!(String).chars().collect(); for i in 0..=W-6{ if (s[i],s[i+1],s[i+2],s[i+3],s[i+4],s[i+5])==('y','i','w','i','y','9'){ s[i+4]='Y'; } if (s[i],s[i+1],s[i+2],s[i+3],s[i+4],s[i+5])==('9','y','i','w','i','y'){ s[i+1]='Y'; } } for i in 0..W{ print!("{}",s[i]); } println!(""); } }