1 #include<iostream>
2 using namespace std;
3 int xx[9]={0,0,1,1,1,-1,-1,-1};
4 int yy[9]={1,-1,1,0,-1,1,0,-1};
5 int tot;
6 int n;
7 int a[101][101];
8 int vis[101][101];
9 void f(int x,int y)
10 {
11 if(x==1&&y==n)
12 {
13 tot++;
14 return;
15 }
16 else
17 {
18 for(int i=0;i<8;i++)
19 {
20 if(x+xx[i]>=1&&x+xx[i]<=n&&y+yy[i]>=1&&y+yy[i]<=n&&a[x+xx[i]][y+yy[i]]==0&&vis[x+xx[i]][y+yy[i]]==0)
21 {
22 vis[x+xx[i]][y+yy[i]]=1;
23 f(x+xx[i],y+yy[i]);
24 vis[x+xx[i]][y+yy[i]]=0;
25 }
26 }
27 }
28 }
29 int main()
30 {
31
32 cin>>n;
33 for(int i=1;i<=n;i++)
34 {
35 for(int j=1;j<=n;j++)
36 {
37 cin>>a[i][j];
38 }
39 }
40 a[1][1]=1;
41 f(1,1);
42 cout<<tot;
43 return 0;
44 }