#include <bits/stdc++.h>

using namespace std;

ifstream f("main.in");

#include<stdio.h>

string makeString(char a, char b)
{
    string rez;
    rez+=a;
    rez+=b;
    return rez;
}

int mod(int a)
{
    if (a < 0)
        return -a;
    return a;
}

char toLet(char a)
{
    if (a > '9')
        return a-'9'+'A' - 1;
    return a;
}

int toPLM(char a)
{
    if (a > '9')
        return a-'A' + 10;
    return a-'0';
}

int strcmp (string a, string b)
{
    int ca = toPLM(a[0]) *16 + toPLM(a[1]);
    int cb = toPLM(b[0]) *16 + toPLM(b[1]);

    return mod(ca - cb);
}

int main()
{
    int n,m;
    cin>>n>>m;
    for (int i = 0; i < n; i++,cout<<'\n')
        for (int alp = 0; alp< m; alp++)
    {
        string x;
        string rez;
        cin>>x;
        rez+='#';
        for (int j = 1; j <= 6; j+=2)
        {
            if (x[j] == x[j+1])
                rez+=x[j];
            else
            {
                if (strcmp(makeString(x[j],x[j+1]),makeString(x[j],x[j])) >
                    strcmp(makeString(x[j],x[j+1]),makeString(toLet(x[j]+1),toLet(x[j]+1))))
                        rez+= toLet(x[j]+1);
                else
                    rez+=x[j];
            }
        }
        cout<<rez<<' ';
    }
    return 0;
}