#include <bits/stdc++.h>
#include <queue>
#ifdef _DEBUG
#include "debug.hpp"
#else
#define debug(...)
#endif
#define fastIO (cin.tie(0), cout.tie(0), ios::sync_with_stdio(false))
#define precise(i) fixed << setprecision(i)
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
using namespace std;

void solve() {
  int n; 
  cin >> n;
  vector<vector<string>> A(n, vector<string>(n));

  rep(i, n) rep(j, n) {
    string s;
    cin >> s;
    A[i][j] = s;
  }
  vector<int> ans;

  // horizontal
  rep(i, n) {
    bool isRenchon = true;
    rep(j, n) {
      if(i != j && A[i][j] != "nyanpass")
        isRenchon= false;
    }

    if(isRenchon)
      ans.push_back(i + 1);
  }

  // vertical
  rep(i, n) {
    bool isRenchon = true;
    rep(j, n) {
      if(j != i && A[j][i] != "nyanpass")
        isRenchon= false;
    }

    if(isRenchon)
      ans.push_back(i + 1);
  }
  
  if(ans.size() == 1)
    cout << ans.front() << '\n';
  else
    cout << -1 << '\n';
}

void wrapper() {
  int loop;
  cin >> loop;
  for (int i = 0; i < loop; i++) {
    auto start = chrono::steady_clock::now();
    cout << "[TEST " << i + 1 << "]\n";
    solve();
    auto end = chrono::steady_clock::now();
    chrono::duration<double> elapsed = end - start;
    cout << "[elapsed : " << elapsed.count() << "]" << '\n';
  }
}

int main() {
  fastIO;
#ifdef _DEBUG
  wrapper();
#else
  solve();
#endif
}