#include #include #include const int N=15; int T, n, mp[N][N], vis[N][N]; int dx[2]={0, 1}; int dy[2]={1, 0}; char s[N]; void dfs(int x, int y) { if(x>n||y>n||!x||!y) return; if(mp[x][y]||vis[x][y]) return; // printf("fa %d %d\n", x, y); vis[x][y]=1; for(int i=0; i<2; ++i) { int vx=x-dx[i], vy=y-dy[i]; dfs(vx, vy); } } int main() { scanf("%d", &T); while(T--) { scanf("%d", &n); for(int i=1; i<=n; ++i) { scanf("%s", s+1); for(int j=1; j<=n; ++j) mp[i][j]=s[j]=='#'; } memset(vis, 0, sizeof(vis)); dfs(n, n); if(!vis[1][1]) { puts("0"); continue; } int x=1, y=1, x1=1, y1=1; while(x