#include using namespace std; struct P {int x;int y;};P cp,w,r[52][52];int n, m, s, l;int b[52][52],v[52][52],c[52][52],fr[52][52]; 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;for(int z = 0; z < 4; z++){ P g = xy(cp, s);if(gh(g))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