#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
constexpr int dx[]={1,-1,0,0},dy[]={0,0,-1,1};
char mp[101][101]={};
int ha,la,hb,lb,k,n,cnt=0,maxn=0,sx,sy;
bool vis[101][101]={},ans;
void dfs(int x,int y)
{
if(mp[x][y]=='#')
return;
if(vis[x][y])
return;
if(x==hb && y==lb)
{
ans=true;
return;
}
vis[x][y]=true;
for(int i=0;i<4;++i)
{
int px=x+dx[i],py=y+dy[i];
if(px>=0 && px<n && py>=0 && py<n)
dfs(px,py);
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin>>k;
for(int p=0;p<k;++p)
{
cin>>n;
for(int i=0;i<n;++i)
for(int j=0;j<n;++j)
cin>>mp[i][j];
cin>>ha>>la>>hb>>lb;
memset(vis,0,sizeof vis);
ans=false;
dfs(ha,la);
if(ans)
cout<<"YES";
else
cout<<"NO";
cout<<'\n';
}
}