#include<iostream>
#include<cstdio>
#define reg register int
using namespace std;
int n,m,x1,y1,x2,y2;
bool p[505][505],fin;
void dfs(int x,int y)
{
if(x==x2&&y==y2)
{
fin=true;
return;
}
if(x<1||y<1||x>n||y>m||p[x][y])
return;
p[x][y]=1;
dfs(x-1,y);dfs(x+1,y);dfs(x,y-1);dfs(x,y+1);
}
int mget(int x,int y)//读入函数
{
char c=getchar();
while(c<=32)c=getchar();//过滤回车
if(c=='s')x1=x,y1=y;
else if(c=='g')x2=x,y2=y;
else p[x][y]=(c=='.'?0:1);
}
int main()
{
cin>>n>>m;
for(reg i=1;i<=n;i++)
for(reg j=1;j<=m;j++)
mget(i,j);
dfs(x1,y1);
if(fin)
cout<<"Yes"<<endl;
else
cout<<"NO"<<endl;
return 0;
}
求助qwq我菜到DFS都不会了???