#include <iostream>
#include <cmath>

using namespace std;

char result[6];

int convert(char a,char b)
{
    int result = 0;
    if(b < 10)
        result = b-'0';
    else
        result = 10 + b - 'A';

    if(a < 10)
        result += (a-'0')*16;
    else
        result += (10 + a - 'A')*16;

    return result;
}

char Convert(char a,char b)
{
    int result = convert(a,b);
    int Min = 2555;
    char d;
    char ch = '0'-1;
    int x;

    for(int i = 0;i<9;i++)
        if( abs(result - (x = convert(++ch,ch))) < Min)
    {
        d = ch;
        Min = abs(result - x);
    }
    ch  ='A'-1;

    for(int i = 0;i<6;i++)
        if(abs(result- (x = convert(++ch,ch))) < Min)
    {
        d = ch;
        Min =abs(result - x);
    }
    return d;
}

void Convert(char c[])
{
    result[0] = Convert(c[1],c[2]);
    result[1] = Convert(c[3],c[4]);
    result[2] = Convert(c[5],c[6]);
}

int main()
{
    int n,m;
    char str[10];
    cin>>n>>m;

    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>str;
    Convert(str);
            cout<<'#'<<result<<' ';
        }
        cout<<'\n';
    }
    return 0;
}