#include 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'; } }