#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <vector>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>
#include <queue>
#include <ctime>
#include <cassert>
#include <complex>
#include <string>
#include <cstring>
#include <chrono>
#include <random>
#include <bitset>

using namespace std;
#define ll long long
#define pi pair<int,int>
#define pll pair<ll,ll>
#define ld  long double
  
const int INF = 1e9 + 7;

void solve(){
	int n , m;
	cin >> n >> m;

	vector<string> g(n);
	for(int i = 0; i < n; i++){
		cin >> g[i];
	}
	int bst1 = -1 , bst2 = -1;
	for(int i = 0; i < n; i++){
		for(int j = i + 1; j < n; j++){
			if(g[i][j] == g[j][i]){
				bst1 = i , bst2 = j;
				break;
			}
		}
	}
	if(bst1 != -1){
		cout << "YES" << endl;
		for(int i = 0; i < m + 1; i++){
			if(i > 0) cout << ' ';
			if(i & 1) cout << (bst1 + 1);
			else cout << (bst2 + 1);
		}
		cout << '\n';
		return;
	}
	if(m & 1){
		int pick1 = 1; int pick2 = n;
		cout << "YES" << endl;
		assert(g[pick1 - 1][pick2 - 1] != g[pick2 - 1][pick1 - 1]);
		for(int i = 0; i < m + 1; i++){
			if(i > 0) cout << ' ';
			if(i & 1) cout << pick1;
			else cout << pick2;
		}
		cout << '\n';
		return;
	}
	vector<int> in(n , -1);
	vector<int> out(n , -1);
	for(int i = 0; i < n; i++){
		for(int j = 0; j < n; j++){
			if(j != i){
				if(g[i][j] == 'a') {
					out[i] = j;
					in[j] = i;
				}
			}
		}
	}

	int v1 = -1 , v2 = -1 , v3 = -1;
	for(int i = 0; i < n; i++){
		if(in[i] != -1 && out[i] != -1){
			v1 = i + 1; v2 = out[i] + 1; v3 = in[i] + 1;
		}
	}
	if(v1 == -1){
		cout << "NO" << endl;
		return;
	}
	assert(m % 2 == 0);
	vector<int> take(4);
	if(m % 4 == 0){
		take[0] = v1; take[1] = v2; take[2] = v1; take[3] = v3;
	} else{
		take[0] = v2 , take[1] = v1 , take[2] = v3; take[3] = v1;
	}
	cout << "YES" << endl;
	for(int i = 0; i < m + 1; i++){
		if(i > 0) cout << " ";
		cout << take[i % 4];
	}
	cout << '\n';
}

int main(){
    ios :: sync_with_stdio(false); 
    cin.tie(nullptr); 
    cout.tie(nullptr);
    int tt = 1;
    cin >> tt;
    for(int tc = 1; tc <= tt; tc++){
        // cout << "Case #" << tc << ": ";
        solve();
    }
}