#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';
	}
}