#include<bits/stdc++.h>
using namespace std;
char s[1005][1005];
const char g[4][4]={
'0','0','0','0',
'0','1','1','0',
'0','1','1','0',
'0','0','0','0'
};
long long n,m,t,flag=0;
int cheak(long long i,long long j){
for(long long k=0;k<=3;k++){
for(long long l=0;l<=3;l++){
if(s[i+k][j+l]!=g[k][l]){
return 0;
}
}
}
return 1;
}
int main(){
cin>>t;
while(t--){
memset(s,'0',sizeof s);
cin>>n>>m;
if(n<4||m<4){
cout<<"No\n";
continue;
}
for(long long i=1;i<=n;i++){
for(long long j=1;j<=m;j++){
cin>>s[i][j];
}
}
for(long long i=1;i<=n;i++){
for(long long j=1;j<=m;j++){
if(cheak(i,j)==1){
flag=1;
break;
}
}
}
if(flag==1){
cout<<"Yes\n";
flag=0;
}
else cout<<"No\n";
}
return 0;
}
WA#