#include <bits/stdc++.h>
using namespace std;
int n, m;
bool vis[(int)1e3][(int)1e3];
char mat[(int)1e3][(int)1e3];
void dfs(int x, int y, bool b) {
  if (x >= n || y >= m) return;
  if (x < 0 || y < 0) return;
  if (vis[x][y]) return;
  vis[x][y] = 1;
  if (mat[x][y] != '-') {
    mat[x][y] = (b) ? 'B' : 'W';
  }
  dfs(x + 1, y, !b);
  dfs(x - 1, y, !b);
  dfs(x, y + 1, !b);
  dfs(x, y - 1, !b);
}
int main() {
  scanf("%d %d", &n, &m);
  for (int i = 0; i < n; i++) {
    scanf("%s", mat[i]);
  }
  dfs(0, 0, true);
  puts("");
  for (int i = 0; i < n; i++) {
    printf("%s\n", mat[i]);
  }
}
