#include <bits/stdc++.h>

using namespace std;

#define INF 1000000000

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

int main() {
	// assert(freopen("compress.in", "r", stdin));
	// assert(freopen("compress.out", "w", stdout));
	cin.sync_with_stdio(false);

	int N, M;
  cin >> N >> M;
  string s;
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < M; j++) {
      cin >> s;

      char R = s[1];
      char G = s[3];
      char B = s[5];
      int vR = getVal(s[1]) * 16 + getVal(s[2]);
      int vG = getVal(s[3]) * 16 + getVal(s[4]);
      int vB = getVal(s[5]) * 16 + getVal(s[6]);

      int vmin = INF;
      string ans = "";
      for (char a = R - 1; a <= R + 1; a++) {
        for (char b = G - 1; b <= G + 1; b++) {
          for (char c = B - 1; c <= B + 1; c++) {
            if (a >= '0' && a <= 'F' && b >= '0' && b <= 'F' && c >= '0' && c <= 'F') {
              int cost = 0;
              int va = getVal(a);
              int vb = getVal(b);
              int vc = getVal(c);
              cost += abs(va * 16 + va - vR);
              cost += abs(vb * 16 + vb - vG);
              cost += abs(vc * 16 + vc - vB);
              if (cost < vmin) {
                vmin = cost;
                ans = string("#") + a + b + c;
              }
            }
          }
        }
      }

      cout << ans << ' ';
    }
    cout << '\n';
  }

	return 0;
}