#include <bits/stdc++.h>
using namespace std;
int n, m, sx, sy, fx, fy;
bool flag, a[105][105];
char c;
void dfs(int x,int y)
{
if(xfx&&yfy) flag=1;
if(a[x-1][y]==0&&x-1>0)
{
a[x][y]=1;
dfs(x-1,y);
}
if(a[x+1][y]==0&&x+1<=n)
{
a[x][y]=1;
dfs(x+1,y);
}
if(a[x][y-1]==0&&y-1>0)
{
a[x][y]=1;
dfs(x,y-1);
}
if(a[x][y+1]0&&y+1<=m)
{
a[x][y]=1;
dfs(x,y+1);
}
}
int main()
{
cin >> n >> m >> sx >> sy >> fx >> fy;
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++)
{
cin >> c;
a[i][j]=(c'#'?1:0);
}
dfs(sx,sy);
cout << (flag?"YES":"NO") << endl;
return 0;
}