#include <bits/stdc++.h>
using namespace std;
int n,m,i,e,j,k,cur,best,w,z;
char s[11];
int conv(char c) {
  if (c>='0' && c<='9') return c-'0';
  return c-'A'+10;
}
char rev(int x) {
  if (x<10) return '0'+x;
  return 'A'+x-10;
}
int main() {
  scanf("%d%d",&n,&m);
  for (i=0; i<n; i++, puts("")) for (e=0; e<m; e++) {
    scanf("%s",s);
    if (e>0) putchar(' ');
    putchar('#');
    for (j=0; j<3; j++) {
      best=cur=conv(s[j*2+1])*16+conv(s[j*2+2]);
      for (w=0, k=1; k<16; k++) {
        z=abs(k*17-cur);
        if (z<best) { best=z; w=k; }
      }
      putchar(rev(w));
    }
  }
  return 0;
}