#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;
    }
  }
}
