#include using namespace std; struct P{int x;int y;};P cp,w,r[502][502];int n,m,s,l;int b[502][502],v[502][502],c[502][502],fr[502][502]; P xy(P p,int ak) {P wq;switch(ak){case 0:wq.x=p.x;wq.y=p.y+1;break;case 1:wq.x=p.x+1;wq.y=p.y;break;case 2:wq.x=p.x;wq.y=p.y-1;break; case 3:wq.x=p.x-1;wq.y=p.y;break;}return wq;}int gh(P p){if((p.x==w.x)&&(p.y==w.y)&&l>2){l++;return 1;}return 0;} int tw(P p){return fr[p.x][p.y]==0?0:c[p.x][p.y]==1?0:1;} int aa(){int f=0;s=(s+1)%4;for(int z=0;z<4;z++){P g=xy(cp,s);if(gh(g)){ while((cp.x!=w.x)||(cp.y!=w.y)){v[cp.x][cp.y]=1;cp=r[cp.x][cp.y];} v[cp.x][cp.y]=1;return 1;}if(tw(g)){P h=cp;cp=g;r[cp.x][cp.y]= h;c[h.x][h.y]=1;l++;f=1;break;}s=(s+1)%4;} if(!f){fr[cp.x][cp.y]=0;l--;cp=r[cp.x][cp.y];}return 0;} int main(){cin>>n>>m;char st[m+1];for(int j=0;j>st;for(int j=1;j= 4)v[i][j]=1;}int k=0; for(int i=1;i