#include using namespace std; char c[15][15]; bool vis[15][15]; int d[2][2]={{1,0},{0,1}}; int n; int flag=0,pp; bool dfs2(int x,int y) { //cout<n||y1<1||y1>n) continue; dfs2(x1,y1); } if(pp) return 1; return 0; } void dfs(int x,int y) { if(x==n&&y==n) { vis[n][n]=0; if(flag==2)return ; if(dfs2(1,1)==1) flag=2; else flag=1; } for(int i=0;i<2;i++) { int x1=x+d[i][0]; int y1=y+d[i][1]; if(vis[x1][y1]||x1<1||x1>n||y1<1||y1>n) continue; vis[x1][y1]=1; dfs(x1,y1); vis[x1][y1]=0; } } signed main() { int t; cin>>t; while(t--) { memset(vis,0,sizeof vis); flag=0; pp=0; cin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cin>>c[i][j]; if(c[i][j]=='#') vis[i][j]=1; else vis[i][j]=0; } } if(c[1][1]=='#'||c[n][n]=='#') { cout<<0<