#include <iostream>
#include <string>
using namespace std;
int intval(char c){
    if(c <='9') return c-'0';
    return c-'A'+10;
}
char charval(int n){
    if(n > 9) return 'A'+n-10;
    return n+'0';
}
int toDec(char a, char b){
    return intval(a)*16+intval(b);
}
void compress(string &s){
    string cped="#";
    for(int i = 1; i < 7; i+=2){
        if(s[i+1] == s[i]) cped += s[i];
        else if(s[i+1] > s[i]){
            int elsoI = intval(s[i]);
            int masoI = intval(s[i+1]);
            if(toDec(elsoI+1, elsoI+1) - toDec(elsoI,masoI) >= 9){
                cped += s[i];
            }else{
                cped += charval(intval(s[i])+1);
            }
        }else{
            int elsoI = intval(s[i]);
            int masoI = intval(s[i+1]);
            if(toDec(elsoI, masoI) - toDec(elsoI-1, elsoI-1) > 9){
                cped += s[i];
            }else{
                cped += charval(intval(s[i])-1);
            }
        }
    }
    s = cped;
}
int main(){
    int n, m;
    cin >> n >> m;
    string s[n][m];
    for(int i = 0; i < n; ++i){
        for(int j = 0; j < m; ++j){
           cin >> s[i][j];
           compress(s[i][j]);
        }
    }
    for(int i = 0; i < n; ++i){
        for(int j = 0; j < m; ++j){
           cout << s[i][j] << " ";
        }
        cout << endl;
    }
}