func_code_string: #include <bits/stdc++.h>   using namespace std;   #pragma comment(linker,  /STACK:102400000,102400000 )   const long long INF = 1e18 + 1LL;   const double Pi = acos(-1.0);   const int N = 3e3 + 10, M = 1e3 + 20, mod = 2017, inf = 2e9;   int b[N][N], m, n, a[N][N];   vector<int> ans1, ans2, ans3, ans4;   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]), b[i][j] = a[i][j];     }     int fi = 0;     for (int i = 1; i <= n; ++i) {       int sum = inf;       for (int j = 1; j <= m; ++j) {         sum = min(sum, a[i][j]);       }       if (sum) {         for (int j = 1; j <= sum; ++j) ans1.push_back(i);         for (int j = 1; j <= m; ++j) a[i][j] -= sum;       }     }     for (int i = 1; i <= m; ++i) {       int sum = inf;       for (int j = 1; j <= n; ++j) {         sum = min(sum, a[j][i]);       }       if (sum) {         for (int j = 1; j <= sum; ++j) ans2.push_back(i);         for (int j = 1; j <= n; ++j) a[j][i] -= sum;       }     }     fi = ans1.size() + ans2.size();     for (int i = 1; i <= n; ++i) {       for (int j = 1; j <= m; ++j) {         if (a[i][j]) {           puts( -1 );           return 0;         }       }     }     for (int i = 1; i <= m; ++i) {       int sum = inf;       for (int j = 1; j <= n; ++j) {         sum = min(sum, b[j][i]);       }       if (sum) {         for (int j = 1; j <= sum; ++j) ans4.push_back(i);         for (int j = 1; j <= n; ++j) b[j][i] -= sum;       }     }     for (int i = 1; i <= n; ++i) {       int sum = inf;       for (int j = 1; j <= m; ++j) {         sum = min(sum, b[i][j]);       }       if (sum) {         for (int j = 1; j <= sum; ++j) ans3.push_back(i);         for (int j = 1; j <= m; ++j) b[i][j] -= sum;       }     }     int se = ans3.size() + ans4.size();     if (fi <= se) {       cout << ans1.size() + ans2.size() << endl;       for (int i = 0; i < ans1.size(); ++i) {         cout <<  row               <<     << ans1[i] << endl;       }       for (int i = 0; i < ans2.size(); ++i) {         cout <<  col               <<     << ans2[i] << endl;       }     } else {       cout << ans3.size() + ans4.size() << endl;       for (int i = 0; i < ans3.size(); ++i) {         cout <<  row               <<     << ans3[i] << endl;       }       for (int i = 0; i < ans4.size(); ++i) {         cout <<  col               <<     << ans4[i] << endl;       }     }     return 0;   }   