#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int input[11][11], check[11][11], answer = 0, N;
void calculate(int i, int j)
{
if(i == N and j == N)
answer++;
check[i][j] = 1;
if((j + 1) <= N and check[i][j + 1] == 0 and input[i][j + 1] == 0)
calculate(i, j + 1);
if((i + 1) <= N and check[i + 1][j] == 0 and input[i + 1][j] == 0)
calculate(i + 1, j);
if((j - 1) >= 1 and check[i][j - 1] == 0 and input[i][j - 1] == 0)
calculate(i, j - 1);
if((i - 1) >= 1 and check[i - 1][j] == 0 and input[i - 1][j] == 0)
calculate(i - 1, j);
check[i][j] = 0;
}
int main()
{
int i, j;
scanf("%d", &N);
for(i = 1;i <= N;i++){
for(j = 1;j <= N;j++){
scanf("%d", &input[i][j]);
check[i][j] = 0;
}
}
calculate(1,1);
printf("%d\n", answer);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8aW9zdHJlYW0+IAojaW5jbHVkZTxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBpbnB1dFsxMV1bMTFdLCBjaGVja1sxMV1bMTFdLCBhbnN3ZXIgPSAwLCBOOyAKdm9pZCBjYWxjdWxhdGUoaW50IGksIGludCBqKQp7IAogICAgaWYoaSA9PSBOICBhbmQgIGogPT0gTikKICAgICAgICBhbnN3ZXIrKzsKICAgIGNoZWNrW2ldW2pdID0gMTsKICAgIGlmKChqICsgMSkgPD0gTiBhbmQgY2hlY2tbaV1baiArIDFdID09IDAgYW5kIGlucHV0W2ldW2ogKyAxXSA9PSAwKQogICAgICAgIGNhbGN1bGF0ZShpLCBqICsgMSk7CiAgICBpZigoaSArIDEpIDw9IE4gYW5kIGNoZWNrW2kgKyAxXVtqXSA9PSAwIGFuZCBpbnB1dFtpICsgMV1bal0gPT0gMCkKICAgICAgICBjYWxjdWxhdGUoaSArIDEsIGopOwogICAgaWYoKGogLSAxKSA+PSAxIGFuZCBjaGVja1tpXVtqIC0gMV0gPT0gMCBhbmQgaW5wdXRbaV1baiAtIDFdID09IDApCiAgICAgICAgY2FsY3VsYXRlKGksIGogLSAxKTsKICAgIGlmKChpIC0gMSkgPj0gMSBhbmQgY2hlY2tbaSAtIDFdW2pdID09IDAgYW5kIGlucHV0W2kgLSAxXVtqXSA9PSAwKQogICAgICAgIGNhbGN1bGF0ZShpIC0gMSwgaik7CiAgICBjaGVja1tpXVtqXSA9IDA7Cn0KIAogCmludCBtYWluKCkKewogICAgaW50IGksIGo7IAogICAgc2NhbmYoIiVkIiwgJk4pOwogICAgZm9yKGkgPSAxO2kgPD0gTjtpKyspewogICAgICAgIGZvcihqID0gMTtqIDw9IE47aisrKXsKICAgICAgICAgICAgc2NhbmYoIiVkIiwgJmlucHV0W2ldW2pdKTsKICAgICAgICAgICAgY2hlY2tbaV1bal0gPSAwOwogICAgICAgIH0KICAgIH0KICAgIGNhbGN1bGF0ZSgxLDEpOwogICAgcHJpbnRmKCIlZFxuIiwgYW5zd2VyKTsKICAgIHJldHVybiAwOwp9IAo=