#include <bits/stdc++.h>
using namespace std;
template <typename T>
void __read(T &a) {
  cin >> a;
}
template <typename T, typename... Args>
void __read(T &a, Args &...args) {
  cin >> a;
  __read(args...);
}
constexpr long long M7 = 1000000007;
constexpr long long M9 = 1000000009ll;
constexpr long long MFFT = 998244353ll;
constexpr long long E6 = 1000000ll;
constexpr long long E9 = 1000000000ll;
constexpr long long INF = 2000000000000000000ll;
template <class T>
void outv(T &a) {
  for (auto &x : a) cout << x << ' ';
}
void solve() {
  long long t;
  __read(t);
  while (t--) {
    long long n, m;
    __read(n, m);
    vector<vector<bool> > a(n, vector<bool>(m));
    for (long long i = 0; i < n; ++i) {
      string str;
      __read(str);
      for (long long j = 0; j < m; ++j) {
        a[i][j] = str[j] == '0' ? false : true;
      }
    }
    vector<long long> res;
    for (long long i = 0; i < n - 1; ++i) {
      for (long long j = 0; j < m - 1; j += 1) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 1];
        bool x3 = a[i + 1][j];
        bool x4 = a[i + 1][j + 1];
        if (x1 && x2 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
        } else if (x1 && x2 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x3 && x4) {
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        }
      }
    }
    for (long long i = 0; i < n - 1; ++i) {
      for (long long j = 0; j < m - 1; j += 1) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 1];
        bool x3 = a[i + 1][j];
        bool x4 = a[i + 1][j + 1];
        if (x1 && x2) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
        } else if (x1 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i + 1][j] = false;
        } else if (x1 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j + 1] = false;
          a[i + 1][j] = false;
        } else if (x2 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j + 1] = false;
          a[i + 1][j + 1] = false;
        } else if (x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        }
      }
    }
    for (long long i = 0; i < n - 2; ++i) {
      for (long long j = 0; j < m; ++j) {
        bool x1 = a[i][j];
        bool x2 = a[i + 2][j];
        bool x3 = a[i + 1][j];
        bool x4;
        if (j + 1 < m) {
          x4 = a[i + 1][j + 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j + 1);
            res.push_back(i + 2);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j + 1);
            a[i][j] = false;
            a[i + 2][j] = false;
          }
        } else {
          x4 = a[i + 1][j - 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j - 1);
            res.push_back(i + 2);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j - 1);
            a[i][j] = false;
            a[i + 2][j] = false;
          }
        }
      }
    }
    for (long long i = 0; i < n; ++i) {
      for (long long j = 0; j < m - 2; ++j) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 2];
        bool x3 = a[i][j + 1];
        bool x4;
        if (i + 1 < n) {
          x4 = a[i + 1][j + 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i + 1);
            res.push_back(j + 1);
            res.push_back(i);
            res.push_back(j + 2);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i + 1);
            res.push_back(j + 1);
            a[i][j] = false;
            a[i][j + 2] = false;
          }
        } else {
          x4 = a[i - 1][j + 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i - 1);
            res.push_back(j + 1);
            res.push_back(i);
            res.push_back(j + 2);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i - 1);
            res.push_back(j + 1);
            a[i][j] = false;
            a[i][j + 2] = false;
          }
        }
      }
    }
    for (long long i = 0; i < n - 1; ++i) {
      for (long long j = 0; j < m - 1; ++j) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 1];
        bool x3 = a[i + 1][j];
        bool x4 = a[i + 1][j + 1];
        if (!x1 && !x2 && !x3 && !x4) {
          continue;
        } else if (x1) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x4) {
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        }
      }
    }
    cout << res.size() / 6 << '\n';
    for (long long i = 0; i < res.size(); i += 6) {
      cout << res[i] + 1 << ' ';
      cout << res[i + 1] + 1 << ' ';
      cout << res[i + 2] + 1 << ' ';
      cout << res[i + 3] + 1 << ' ';
      cout << res[i + 4] + 1 << ' ';
      cout << res[i + 5] + 1 << '\n';
    }
  }
}
signed main(signed argc, char **argv) {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  if (argc > 1 && (string)argv[1] == "local") {
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    long long i = 1;
    clock_t start_time, end_time;
    cout << "/////Test #" << i << "/////\n";
    start_time = clock();
    solve();
    end_time = clock();
    long double seconds_pass =
        (long double)(end_time - start_time) / CLOCKS_PER_SEC;
    cout << "\n//Time: ";
    cout << setprecision(15) << seconds_pass << '\n';
    while (cin.peek() != -1) {
      ++i;
      cout << '\n';
      cout << '\n';
      cout << "/////Test #" << i << "/////\n";
      start_time = clock();
      solve();
      end_time = clock();
      seconds_pass = (long double)(end_time - start_time) / CLOCKS_PER_SEC;
      cout << "\n//Time: ";
      cout << setprecision(15) << seconds_pass << '\n';
    }
  } else {
    solve();
  }
  return 0;
}
