import java.util.Scanner;
public class Main {
static int m, n, ai, bi, hi;
static char[][] a = new char[1005][1005];
static String[] b = new String[1005];
static int[][]v = new int[1005][1005];
static int[] d = new int[1005];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
m = sc.nextInt();
n = sc.nextInt();
for (int i = 0; i < m; i++) {
b[i] = sc.next();
ai = 0;
bi = 0;
hi = 0;
for (int j = 0; j < n; j++) {
if (b[i].charAt(j) == 'A') {
ai++;
}
if (b[i].charAt(j) == 'B') {
bi++;
}
if (b[i].charAt(j) == 'H') {
d[hi++] = j;
}
}
if (hi > 0) {
for (int q = 0; q < ai; q++) {
a[i][q] = 'A';
}
for (int q = ai; q < n - bi; q++) {
a[i][q] = '#';
}
for (int q = n - bi; q < n; q++) {
a[i][q] = 'B';
}
for (int y = 0; y < hi; y++) {
a[i][d[y]] = 'H';
}
}
else if (ai == bi) {
for (int q = 0; q < n; q++) {
a[i][q] = '#';
}
}
else if(ai>bi){
for(int q=0;q<n-ai;q++){
a[i][q] = '#';
}
for(int q=n-ai;q<n;q++){
a[i][q] = 'A';
}
}
else {
for(int q=0;q<bi;q++){
a[i][q] = 'B';
}
for(int q=bi;q<n;q++){
a[i][q] = '#';
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m-1;j++){
if(j<m-1&&(a[j][i]!='H'&&a[j][i]!='#')&&(a[j][i]==a[j+1][i])){
v[j][i] = 1;
v[j+1][i]=1;
}
}
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(v[i][j]==1)
a[i][j]='#';
System.out.printf("%c",a[i][j]);
}
System.out.println();
}
}
}