#include using namespace std; const int MAXN = 15; char s[MAXN][MAXN]; int n; bool ok(int x,int y) { return x >= 1 && x <= n && y >= 1 && y <= n && s[x][y] == '.'; } int dir[2][2] = {{0,1},{1,0}}; /* 1 4 .... .##. .### ...# */ bool dfs(int x,int y) { if(x == n && y == n) return true; for(int i = 0;i < 2;i++) { int nx = x + dir[i][0]; int ny = y + dir[i][1]; if(ok(nx,ny)) { s[nx][ny] = '#'; if(dfs(nx,ny)) return true; s[nx][ny] = '.'; } } return false; } int main() { int t; scanf("%d",&t); while(t--){ scanf("%d",&n); for(int i = 1;i <= n;++i) scanf(" %s",s[i] + 1); if(s[1][1] == '#' || s[n][n] == '#') { puts("0"); continue; } int ans = dfs(1,1); s[1][1] = '.'; s[n][n] = '.'; ans += dfs(1,1); printf("%d\n",ans); } return 0; }