#include <bits/stdc++.h>
using namespace std;

int i, n, m, j;
string s;

int get_nr(char c1) {
  if(c1 >= '0' && c1 <= '9') c1 -= '0';
  else c1 += 10 - 'A';

  return c1;
}

int get_nr(char c1, char c2) {
  if(c1 >= '0' && c1 <= '9') c1 -= '0';
  else c1 += 10 - 'A';
  if(c2 >= '0' && c2 <= '9') c2 -= '0';
  else c2 += 10 - 'A';

  return c1 * 16 + c2;
}

string solve(string s) {
  string ans = "#";

  ans += "0";
  for(int i = 0; i < 16; ++i)
    if(i < 10) {
      if(abs(get_nr(s[1], s[2]) - i * 16 - i) < abs(get_nr(s[1], s[2]) - get_nr(ans[1], ans[1]))) ans[1] = '0' + i;
    } else {
      if(abs(get_nr(s[1], s[2]) - i * 16 - i) < abs(get_nr(s[1], s[2]) - get_nr(ans[1], ans[1]))) ans[1] = 'A' + i - 10;
    }

  ans += "0";
  for(int i = 0; i < 16; ++i)
    if(i < 10) {
      if(abs(get_nr(s[3], s[4]) - i * 16 - i) < abs(get_nr(s[3], s[4]) - get_nr(ans[2], ans[2]))) ans[2] = '0' + i;
    } else {
      if(abs(get_nr(s[3], s[4]) - i * 16 - i) < abs(get_nr(s[3], s[4]) - get_nr(ans[2], ans[2]))) ans[2] = 'A' + i - 10;
    }

  ans += "0";
  for(int i = 0; i < 16; ++i)
    if(i < 10) {
      if(abs(get_nr(s[5], s[6]) - i * 16 - i) < abs(get_nr(s[5], s[6]) - get_nr(ans[3], ans[3]))) ans[3] = '0' + i;
    } else {
      if(abs(get_nr(s[5], s[6]) - i * 16 - i) < abs(get_nr(s[5], s[6]) - get_nr(ans[3], ans[3]))) ans[3] = 'A' + i - 10;
    }

  return ans;
}

int main() {
  ios_base::sync_with_stdio(0);

  cin >> n >> m;

  for(i = 1; i <= n; ++i)
    for(j = 1; j <= m; ++j)
      cin >> s, cout << solve(s) << " \n"[j == m];

  return 0;
}