func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long N = 1e6 + 25;   const long long INF = 1e15 + 7;   const long long mod = 998244353;   long long dp[N];   long long binpow(long long a, long long b) {     a %= mod;     long long res = 1;     while (b > 0) {       if (b & 1) res = res * a % mod;       a = a * a % mod;       b >>= 1;     }     return res;   }   long long mult(long long a, long long b) { return (a % mod * b % mod) % mod; }   long long add(long long a, long long b) {     a += b;     if (a >= mod) return a - mod;     return a;   }   long long sub(long long a, long long b) {     a -= b;     if (a < 0) return a + mod;     return a;   }   long long inverse(long long a) { return binpow(a, mod - 2); }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     long long t;     cin >> t;     while (t--) {       long long n, m;       cin >> n >> m;       vector<pair<long long, long long> > ans;       char a[n + 2][m + 3];       for (long long i = 0; i < n; i++) {         for (long long j = 0; j < m; j++) cin >> a[i][j];       }       for (long long i = 0; i < n - 1; i++) {         for (long long j = 0; j < m - 1; j++) {           vector<pair<long long, long long> > z, o;           if (a[i][j] ==  0 )             z.push_back(make_pair(i, j));           else             o.push_back(make_pair(i, j));           if (a[i][j + 1] ==  0 )             z.push_back(make_pair(i, j + 1));           else             o.push_back(make_pair(i, j + 1));           if (a[i + 1][j] ==  0 )             z.push_back(make_pair(i + 1, j));           else             o.push_back(make_pair(i + 1, j));           if (a[i + 1][j + 1] ==  0 )             z.push_back(make_pair(i + 1, j + 1));           else             o.push_back(make_pair(i + 1, j + 1));           if (o.size() == 0) continue;           if (o.size() == 4) {             ans.push_back(make_pair(i, j));             ans.push_back(make_pair(i, j + 1));             ans.push_back(make_pair(i + 1, j));             ans.push_back(make_pair(i + 1, j + 1));             ans.push_back(make_pair(i + 1, j));             ans.push_back(make_pair(i, j + 1));             ans.push_back(make_pair(i, j));             ans.push_back(make_pair(i, j + 1));             ans.push_back(make_pair(i + 1, j + 1));             ans.push_back(make_pair(i, j));             ans.push_back(make_pair(i + 1, j));             ans.push_back(make_pair(i + 1, j + 1));           }           if (o.size() == 3) {             for (long long k = 0; k < 3; k++) ans.push_back(o[k]);           }           if (o.size() == 2) {             ans.push_back(o[0]);             ans.push_back(z[0]);             ans.push_back(z[1]);             ans.push_back(o[1]);             ans.push_back(z[0]);             ans.push_back(z[1]);           }           if (o.size() == 1) {             ans.push_back(o[0]);             ans.push_back(z[1]);             ans.push_back(z[2]);             pair<long long, long long> p = o[0];             o.pop_back();             o.push_back(z[1]);             o.push_back(z[2]);             z.pop_back();             z.pop_back();             z.push_back(p);             ans.push_back(o[0]);             ans.push_back(z[0]);             ans.push_back(z[1]);             ans.push_back(o[1]);             ans.push_back(z[0]);             ans.push_back(z[1]);           }           a[i][j] =  0 ;           a[i + 1][j] =  0 ;           a[i][j + 1] =  0 ;           a[i + 1][j + 1] =  0 ;         }       }       cout << ans.size() / 3 << endl;       for (long long i = 0; i < ans.size(); i += 3) {         cout << ans[i].first + 1 <<     << ans[i].second + 1 <<                  << ans[i + 1].first + 1 <<     << ans[i + 1].second + 1 <<                  << ans[i + 2].first + 1 <<     << ans[i + 2].second + 1 << endl;       }     }   }   