#include<bits/stdc++.h>
#define pb push_back
using namespace std;
typedef long long ll;
const int maxn=305;
const int mod=1e9+7;
const ll INF=1e18;
int a[maxn][maxn],tag[maxn],f[maxn];
int mp[15],ans[maxn];
char str[maxn*maxn];
void rua(){
int n,s,kk=0,col=0;scanf("%d%d",&n,&s);
scanf("%s",str);
for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++)
a[i][j]=a[j][i]=(str[kk++]-'0');
for(int i=1;i<=n;i++) tag[i]=-1;
for(int i=1;i<=n;i++) if(tag[i]==-1){
int op=0;
for(int j=1;j<=n;j++)
if(tag[j]==-1 && a[i][j]) f[++op]=j;
tag[i]=col;
for(int j=1;j<=n;j++) if(tag[j]==-1){
int num=0;
for(int k=1;k<=op;k++) if(a[j][f[k]]) num++;
if(num>=4*op/9) tag[j]=col;
}
col++;
}
col=0;
for(int i=1;i<=n;i++){
if(!mp[tag[i]]) ans[i]=++col,mp[tag[i]]=col;
else ans[i]=mp[tag[i]];
}
for(int i=1;i<n;i++) printf("%d ",ans[i]-1);
printf("%d\n",ans[n]-1);
}
int main(){
int t;scanf("%d",&t);
while(t--) rua();
return 0;
}