Grazing Patterns

Деньги кончились, и теперь ферма Джона имеет размер 5*5 метров.
Поле (1,1) находится в левом верхнем углу, поле (5,5) - в правом нижнем.

(1,1) (1,2) (1,3) (1,4) (1,5)
(2,1) (2,2) (2,3) (2,4) (2,5)
(3,1) (3,2) (3,3) (3,4) (3,5)
(4,1) (4,2) (4,3) (4,4) (4,5)
(5,1) (5,2) (5,3) (5,4) (5,5)

Каждый квадрат этой решетки содержит траву, кроме K выжженных 
Квадратов (0 <= K <= 22, K четное) квадратов, где нет травы. Беси 
начинает пастись в квадрате (1,1), в котором всегда есть трава. Милдред
начинает пастись в клетке (5,5), где тоже всегда есть трава.  

Каждые полчаса Беси и Милдред съедают всю траву в своем квадрате 
и переходят в соседний квадрат (на север, юг, запад или восток). Они 
хотят съесть всю траву и встретиться в общей финальной позиции.
Пожалуйста, вычислите количество различных способов сделать это. 
Беси и Милдред всегда двигаются только в квадрат с травой и никогда
не идут в один и тот же квадрат, если это не самый последний квадрат 
с травой.

PROBLEM NAME: grazing

INPUT FORMAT:

* Строка 1: Целое число K.

* Строки 2..1+K: Каждая строка содержит координаты (I,j) клетки без травы
                 - два целых числа I и J через пробел.

SAMPLE INPUT (файл grazing.in):

4
3 2
3 3
3 4
3 1

INPUT DETAILS:

Изначально решетка выглядит так (где '.' означает квадрат с травой,
'#' означает квадрат без травы), 'b' - местоположение Беси, 'm' - 
местоположение Милдред.

b....
.....
xxxx.
.....
....m

 

OUTPUT FORMAT:

Строка 1: Количество различных способов Беси и Милдред
пройти по полю, съесть всю траву и встретиться в одной и 
той же клетке.

SAMPLE OUTPUT (Файл grazing.out):

1

OUTPUT DETAILS:

Есть только один способ - встретиться в клетке (3,5), пройдя
указанными на рисунке ниже маршрутами

b  b--b  b--b
|  |  |  |  |
b--b  b--b  b
            |
x  x  x  x b/m
            |
m--m--m--m--m
|
m--m--m--m--m