#include <iostream>

using namespace std;

char s[10], col[10];

char increase(char a, int val)
{
	a += val;
	if (a == '9' + 1)
		a = 'A';
	if (a == 'A' - 1)
		a = '9';
	return a;
}

int toInt(char a)
{
	if (a >= '0' && a <= '9')
		return a - '0';
	return a - 'A' + 10;
}

int dif(char a1, char b1, char a2, char b2)
{
	int c1 = toInt(b1);
	int c2 = toInt(b2);

	if (c1 < c2)
	{
		a1 = increase(a1, -1);
		c1 += 10 + 'F' - 'A' + 1;
	}

	int dif = c1 - c2;
	return dif + (toInt(a1) - toInt(a2)) * (10 + 'F' - 'A' + 1);
}

char calc(char a, char b)
{
	if (a == b)
		return a;

	char down, up;
	if (a < b)
	{
		up = increase(a, 1);
		down = a;
	}
	else
	{
		up = a;
		down = increase(a, -1);
	}

	if (dif(up, up, a, b) < dif(a, b, down, down))
		return up;
	return down;
}

int main()
{
	int n, m;

	col[0] = '#';

	cin >> n >> m;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			cin >> s;

			int poz = 0;
			for (int i = 1; i <= 5; i += 2)
			{
				col[++poz] = calc(s[i], s[i + 1]);
			}

			cout << col << ' ';
		}

		cout << '\n';
	}
}