using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Globalization; using static System.Console; using Pair = System.Collections.Generic.KeyValuePair; class Program { static void Main() { var sw = new StreamWriter(OpenStandardOutput()) { AutoFlush = false }; SetOut(sw); new Program().solve(); Out.Flush(); } Scanner cin = new Scanner(); readonly int[] dd = { 0, 1, 0, -1, 0 }; readonly int mod = 1000000007; readonly string alfa = "abcdefghijklmnopqrstuvwxyz"; int H, W; void solve() { H = cin.nextint; W = cin.nextint; var S = new char[H][]; for (int i = 0; i < H; i++) { S[i] = cin.next.ToCharArray(); } var G = new List(); for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { if (S[i][j] == '*') G.Add(new Pair(i, j)); } } if (G[0].Key == 0 && G[1].Key == 0) G.Add(new Pair(1, 1)); else if (G[0].Value == 0 && G[1].Value == 0) G.Add(new Pair(1, 1)); else if (G[0].Key == 0 && G[0].Value == 0) G.Add(new Pair(0, 1)); else if (G[1].Key == 0 && G[1].Value == 0) G.Add(new Pair(0, 1)); else if (G[1].Key > G[0].Key && G[0].Key != 0 && G[0].Value!= 0) { if (G[1].Key % G[0].Key == 0 && G[1].Value % G[0].Value == 0) { G.Add(new Pair(G[0].Key + 1, G[0].Value)); } else G.Add(new Pair(0, 0)); } else if(G[1].Key < G[0].Key && G[1].Key != 0 && G[1].Value != 0) { if (G[0].Key % G[1].Key == 0 && G[0].Value % G[1].Value == 0) { G.Add(new Pair(G[1].Key + 1, G[1].Value)); } else G.Add(new Pair(0, 0)); } else G.Add(new Pair(0, 0)); S[G[2].Key][G[2].Value] = '*'; foreach (var v in S) { WriteLine(v); } } } class Scanner { string[] s; int i; char[] cs = new char[] { ' ' }; public Scanner() { s = new string[0]; i = 0; } public string[] scan { get { return ReadLine().Split(); } } public int[] scanint { get { return Array.ConvertAll(scan, int.Parse); } } public long[] scanlong { get { return Array.ConvertAll(scan, long.Parse); } } public double[] scandouble { get { return Array.ConvertAll(scan, double.Parse); } } public string next { get { if (i < s.Length) return s[i++]; string st = ReadLine(); while (st == "") st = ReadLine(); s = st.Split(cs, StringSplitOptions.RemoveEmptyEntries); i = 0; return next; } } public int nextint { get { return int.Parse(next); } } public long nextlong { get { return long.Parse(next); } } public double nextdouble { get { return double.Parse(next); } } }