#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const double eps = 1e-6;
const int maxn = 1e6 + 5;
int n;
char a[205][205];
void Solve() {
  cin >> n;
  pair<int, int> res[5000];
  int cnt = 0;
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= n; ++j) cin >> a[i][j];
  if (a[n][n - 1] == '1') {
    if (a[n][n - 2] == '1' && a[n - 1][n - 1] == '1') {
      res[++cnt] = {n, n - 1};
    } else if (a[n][n - 2] == '1') {
      res[++cnt] = {n, n - 2};
    } else if (a[n - 1][n - 1] == '1') {
      res[++cnt] = {n - 1, n - 1};
      a[n - 1][n - 1] = 0;
    }
  } else {
    if (a[n][n - 2] == '0' && a[n - 1][n - 1] == '0') {
      res[++cnt] = {n, n - 1};
    } else if (a[n][n - 2] == '0') {
      res[++cnt] = {n, n - 2};
    } else if (a[n - 1][n - 1] == '0') {
      res[++cnt] = {n - 1, n - 1};
      a[n - 1][n - 1] = 1;
    }
  }
  if (a[n - 1][n] == '1') {
    if (a[n - 2][n] == '1' && a[n - 1][n - 1] == '1') {
      res[++cnt] = {n - 1, n};
    } else if (a[n - 2][n] == '1') {
      res[++cnt] = {n - 2, n};
    } else if (a[n - 1][n - 1] == '1') {
      res[++cnt] = {n - 1, n - 1};
      a[n - 1][n - 1] = 0;
    }
  } else {
    if (a[n - 2][n] == '0' && a[n - 1][n - 1] == '0') {
      res[++cnt] = {n - 1, n};
    } else if (a[n - 2][n] == '0') {
      res[++cnt] = {n - 2, n};
    } else if (a[n - 1][n - 1] == '0') {
      res[++cnt] = {n - 1, n - 1};
      a[n - 1][n - 1] = 1;
    }
  }
  cout << cnt << "\n";
  for (int i = 1; i <= cnt; ++i)
    cout << res[i].first << " " << res[i].second << "\n";
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  if (fopen(""
            ".inp",
            "r")) {
    freopen(
        ""
        ".inp",
        "r", stdin);
    freopen(
        ""
        ".out",
        "w", stdout);
  }
  int test_case = 1;
  cin >> test_case;
  while (test_case--) Solve();
  return 0;
}
