func_code_string: #include <bits/stdc++.h>   const int maxn = 1010;   int n, m, K, N;   int a[maxn][maxn];   char row[maxn][maxn], col[maxn][maxn];   void Read() {     int i;     scanf( %d%d%d , &n, &m, &K);     for (i = 1; i <= 2 * n - 1; i++)       if (i & 1)         scanf( %s , row[i + 1 >> 1] + 1);       else         scanf( %s , col[i >> 1] + 1);     N = n * (m - 1) + m * (n - 1);   }   void Solve1() {     int i, j, t;     t = 0;     for (i = 1; i <= n; i++)       for (j = 1; j <= m - 1; j++)         if (row[i][j] ==  N ) t++;     for (i = 1; i <= n - 1; i++)       for (j = 1; j <= m; j++)         if (col[i][j] ==  N ) t++;     if (t >= N * 0.25) return (void)printf( NO n );     printf( YES n );     for (i = 1; i <= n; i++) {       for (j = 1; j <= m - 1; j++) printf( 1  );       printf( 1 n );     }   }   void Solve2() {     int i, j, t;     a[1][1] = 1;     for (j = 1; j <= m - 1; j++) {       a[1][j + 1] = a[1][j];       if (row[1][j] ==  N ) a[1][j + 1] = 3 - a[1][j];     }     for (i = 2; i <= n; i++) {       a[i][1] = 1;       t = a[i][1] == a[i - 1][1] ^ col[i - 1][1] ==  E ;       for (j = 1; j <= m - 1; j++) {         a[i][j + 1] = a[i][j];         if (row[i][j] ==  N ) a[i][j + 1] = 3 - a[i][j];         t += a[i][j + 1] == a[i - 1][j + 1] ^ col[i - 1][j + 1] ==  E ;       }       if (t > m / 2)         for (j = 1; j <= m; j++) a[i][j] = 3 - a[i][j];     }   }   void Solve3() {     int i, j, t;     a[1][1] = 1;     for (i = 1; i <= n - 1; i++) {       a[i + 1][1] = a[i][1];       if (col[i][1] ==  N ) a[i + 1][1] = 3 - a[i][1];     }     for (j = 2; j <= m; j++) {       a[1][j] = a[1][j - 1];       t = a[1][j - 1] == a[1][j] ^ row[1][j - 1] ==  E ;       for (i = 1; i <= n - 1; i++) {         a[i + 1][j] = a[i][j];         if (col[i][j] ==  N ) a[i + 1][j] = 3 - a[i][j];         t += a[i + 1][j] == a[i + 1][j - 1] ^ row[i + 1][j - 1] ==  E ;       }       if (t > n / 2)         for (i = 1; i <= n; i++) a[i][j] = 3 - a[i][j];     }   }   void Write() {     int i, j;     printf( YES n );     for (i = 1; i <= n; i++) {       for (j = 1; j <= m - 1; j++) printf( %d  , a[i][j]);       printf( %d n , a[i][m]);     }   }   int main() {     Read();     if (K == 1)       Solve1();     else {       if (n <= m)         Solve2();       else         Solve3();       Write();     }   }   