func_code_string: #include <bits/stdc++.h>   const int N = 205;   int n, m, A[N][N], a[N][N], h[N], l[N];   int main() {     scanf( %d%d , &n, &m);     for (int i = 1; i <= n; i++)       for (int j = 1; j <= m; j++) scanf( %d , &A[i][j]);     for (int i = 0; i <= m; i++) {       int f = 1;       memcpy(a, A, sizeof(A));       memset(h, 0, sizeof(h));       memset(l, 0, sizeof(l));       for (int j = 1; j <= m; j++)         if ((j <= i && a[1][j]) || (j > i && a[1][j] == 0)) {           for (int k = 1; k <= n; k++) a[k][j] ^= 1;           l[j] ^= 1;         }       for (int j = 2; j <= n; j++) {         int f0 = 1, f1 = 1;         for (int k = 1; k <= m; k++)           if (a[j][k])             f0 = 0;           else             f1 = 0;         if (f0)           h[j] ^= 1;         else if (!f1) {           f = 0;           break;         }       }       if (f) {         puts( YES );         for (int j = 1; j <= n; j++) printf( %d , h[j]);         puts(  );         for (int j = 1; j <= m; j++) printf( %d , l[j]);         puts(  );         return 0;       }     }     memcpy(a, A, sizeof(A));     memset(h, 0, sizeof(h));     memset(l, 0, sizeof(l));     for (int i = 1; i <= m; i++)       if (a[1][i]) {         for (int k = 1; k <= n; k++) a[k][i] ^= 1;         l[i] ^= 1;       }     int f = 2;     for (int j = 2; j <= n; j++) {       int cnt = 0, c = a[j][1];       for (int k = 2; k <= m; k++)         if (a[j][k] != a[j][k - 1]) cnt++;       if (cnt > 1) {         puts( NO );         return 0;       }       if (cnt == 0 && f == 2) {         if (c == 1) h[j] ^= 1;         continue;       }       if (cnt == 0 && f == 1) {         if (c == 0) h[j] ^= 1;         continue;       }       if (cnt == 1 && f == 2) {         f--;         if (c) h[j] ^= 1;         continue;       }       puts( NO );     }     puts( YES );     for (int j = 1; j <= n; j++) printf( %d , h[j]);     puts(  );     for (int j = 1; j <= m; j++) printf( %d , l[j]);     puts(  );     return 0;   }   