#include<iostream>
#include<string>
#include<map>
#include<set>
//#include<unordered_map>
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<fstream>
#define X first
#define Y second
#define best 131 
#define INF 0x3f3f3f3f3f3f3f3f
#define pii pair<int,int>
#define lowbit(x) x & -x
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const double eps=1e-7;
const double pai=acos(-1.0);
const int N=2e4+10;
const int maxn=1e6+10;
const int mod=1e9+7;
int t,n,m,k,a[maxn],to[1010][1010],flag;
char s[1010][1010];
int main( )
{
//  ios::sync_with_stdio(false);
//	cin.tie(0);cout.tie(0);	
	cin>>t;
	while(t--)
	{
		int pos1=0,pos2=0;
		cin>>n>>m;flag=0;
		for(int i=1;i<=n;i++)
			cin>>s[i]+1;
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++)
				if(i!=j)
					to[i][s[i][j]-'a']=j;
		if(m&1)
		{
			cout<<"YES"<<endl;
			for(int i=1;i<=m+1;i++)
			{
				if(i&1) cout<<1<<' ';
				else cout<<2<<' '; 
			}
			cout<<endl;
		}
		else
		{
			for(int i=1;i<=n;i++)
			{
				for(int j=i+1;j<=n;j++)
				{
					if(s[i][j]==s[j][i])
					{
						pos1=i,pos2=j;
						break;
					}
				}
				if(pos1) break;
			}
			if(pos1)
			{
				cout<<"YES"<<endl;
				for(int i=1;i<=m+1;i++)
				{
					if(i&1) cout<<pos1<<' ';
					else cout<<pos2<<' ';
				}
				cout<<endl;
			}
			else
			{
				for(int i=1;i<=n;i++)
				{
					for(int j=1;j<=n;j++)
					{
						if(i==j||!to[j][s[i][j]-'a']) continue;
						int next=to[j][s[i][j]-'a'];
						cout<<"YES"<<endl;
						if(m%4==2)
						{
							for(int z=1;z<=m+1;z++)
							{
								if(z%4==1) cout<<i<<' ';
								else if(z%4==2||z%4==0) cout<<j<<' ';
								else cout<<next<<' ';
							}
						}
						else
						{
							for(int z=1;z<=m+1;z++)
							{
								if(z%4==1||z%4==3) cout<<j<<' ';
								else if(z%4==0) cout<<i<<' ';
								else cout<<next<<' ';
							}
						}
						cout<<endl;flag=1;break;
					}
					if(flag) break;
				}
				if(!flag) cout<<"NO"<<endl;
			}
		}
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++)
				if(i!=j)
					to[i][s[i][j]-'a']=0;
	}
	return 0; 
} 