#include <bits/stdc++.h>
using namespace std;
ifstream fin("AAtest.in.txt");
long long n, m, t, ma[1005][1005], pal;
vector<long long> v;
char c;
void lisa(long long n, long long m) {
  ma[n][m] = 1 - ma[n][m];
  v.push_back(n);
  v.push_back(m);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cerr.tie(0);
  cin >> t;
  while (t--) {
    cin >> n >> m;
    for (int i = 1; i <= n; i++)
      for (int j = 1; j <= m; j++) cin >> c, ma[i][j] = c - '0';
    v.resize(0);
    for (int i = 1; i < n - 1; i++)
      for (int j = 1; j <= m; j++) {
        if (ma[i][j]) {
          lisa(i, j);
          if (j > 1 && ma[i][j - 1]) {
            lisa(i, j - 1);
            lisa(i + 1, j - 1);
          } else {
            if (j > 1)
              lisa(i + 1, j - 1);
            else
              lisa(i + 1, j + 1);
            lisa(i + 1, j);
          }
        }
      }
    for (int i = 1; i < m - 1; i++)
      if (ma[n - 1][i] || ma[n][i]) {
        pal = 0;
        if (ma[n - 1][i]) {
          lisa(n - 1, i);
          pal++;
        }
        if (ma[n][i]) {
          lisa(n, i);
          pal++;
        }
        if (pal < 3) {
          lisa(n - 1, i + 1);
          pal++;
        }
        if (pal < 3) {
          lisa(n, i + 1);
          pal++;
        }
      }
    pal = 0;
    if (ma[n][m]) pal++;
    if (ma[n - 1][m]) pal++;
    if (ma[n][m - 1]) pal++;
    if (ma[n - 1][m - 1]) pal++;
    if (pal == 4) {
      pal = 1;
      lisa(n, m);
      lisa(n - 1, m);
      lisa(n, m - 1);
    }
    if (pal == 1) {
      pal = 2;
      if (ma[n][m] || ma[n - 1][m] || ma[n][m - 1]) {
        lisa(n, m);
        lisa(n - 1, m);
        lisa(n, m - 1);
      } else {
        lisa(n, m);
        lisa(n - 1, m - 1);
        lisa(n, m - 1);
      }
    }
    if (pal == 2) {
      pal = 3;
      if (ma[n][m]) {
        lisa(n - 1, m);
        lisa(n - 1, m - 1);
        lisa(n, m - 1);
      } else if (ma[n - 1][m]) {
        lisa(n, m);
        lisa(n - 1, m - 1);
        lisa(n, m - 1);
      } else if (ma[n][m - 1]) {
        lisa(n - 1, m);
        lisa(n - 1, m - 1);
        lisa(n, m);
      } else {
        lisa(n, m);
        lisa(n - 1, m);
        lisa(n, m - 1);
      }
    }
    if (pal == 3)
      for (int i = n - 1; i <= n; i++)
        for (int j = m - 1; j <= m; j++)
          if (ma[i][j]) lisa(i, j);
    cout << v.size() / 6 << "\n";
    for (int i = 0; i < v.size(); i++) {
      cout << v[i] << " ";
      if (i % 6 == 5) cout << "\n";
    }
  }
}
