#include <bits/stdc++.h>
using namespace std;
const int maxn = 2222;
char ma[maxn][maxn];
int step[9][2] = {{0, 1},  {0, -1},  {1, 0},  {-1, 0}, {1, 1},
                  {1, -1}, {-1, -1}, {-1, 1}, {0, 0}};
int h1, h2, w1, w2, n, m;
void dfs(int i, int j) {
  if (i < 0 || i >= n - 1 || j < 0 || j >= m - 1) return;
  int sum = 0, xx, yy;
  for (int x = 0; x < 2; x++) {
    for (int y = 0; y < 2; y++) {
      if (ma[i + x][j + y] == '*') {
        sum++;
        xx = i + x;
        yy = j + y;
      }
    }
  }
  if (sum != 1) return;
  ma[xx][yy] = '.';
  for (int k = 0; k < 9; k++) {
    int x = step[k][0] + i, y = step[k][1] + j;
    if (x >= 0 && x < n - 1 && y >= 0 && y < m - 1) {
      dfs(x, y);
    }
  }
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> m;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      cin >> ma[i][j];
    }
  }
  for (int i = 0; i < n - 1; i++) {
    for (int j = 0; j < m - 1; j++) {
      dfs(i, j);
    }
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      cout << ma[i][j];
    }
    cout << endl;
  }
  return 0;
}
