Problem Statement
You may have heard of the game "Heroes of Might and Magic". Recently, battles in this game have been broadcast online, and the weekly battles between Petr and Vasyl have been very popular. Petr usually wins these battles, so Vasyl has decided to develop a new strategy.
The battlefield in this game consists of equal hexagonal cells arranged in the form of a larger hexagon. The number of cells on each side of the battlefield represents the size of the field. The coordinate system is shown in the following figure, which depicts a battlefield of size 3:

This week, Petr and Vasyl are playing on a battlefield of size N. Some of the cells are already occupied by Petr's heroes. The locations of these cells are given in the

Vasyl wants to simulate a battle with every possible arrangement of his heroes so that he can determine the optimal one. Return the number of different possible arrangements he will consider.
Definition
- Class:
- HexagonalBattlefieldEasy
- Method:
- countArrangements
- Parameters:
- int[], int[], int
- Returns:
- int
- Method signature:
- int countArrangements(int[] X, int[] Y, int N)
- (be sure your method is public)
Constraints
- N will be between 1 and 4, inclusive.
- X will contain between 1 and 50 elements, inclusive.
- X and Y will each contain the same number of elements.
- All points (X[i], Y[i]) will lie inside the battlefield of size N.
- All points (X[i], Y[i]) will be distinct.
Examples
{-2,0,1,1,0}
{-2,0,1,0,2}
3
Returns: 10
This is the battlefield shown in the figure above.
{0}
{0}
2
Returns: 2
{0}
{0}
3
Returns: 104
{-1,0,0,1,2}
{0,0,1,0,0}
3
Returns: 6
{0,0}
{0,-1}
2
Returns: 0
{0,0}
{0,1}
2
Returns: 0
{0,-1}
{0,0}
2
Returns: 0
{0,1}
{0,0}
2
Returns: 0
{-1,0,1}
{-1,0,1}
2
Returns: 1
{0,0,0}
{-1,0,1}
2
Returns: 1
{1,0,-1}
{0,0,0}
2
Returns: 1
{-1,0,1}
{-1,0,1}
2
Returns: 1
{-1,1,0}
{0,1,-1}
2
Returns: 0
{-1,1,0}
{-1,0,1}
2
Returns: 0
{-1,0,0}
{-1,-1,1}
2
Returns: 1
{1,1,-1}
{1,0,0}
2
Returns: 1
{0,1,1,0,-1}
{1,1,0,-1,-1}
2
Returns: 1
{-1,0,1}
{0,1,1}
2
Returns: 2
{1,1,0}
{1,0,-1}
2
Returns: 2
{0,-1,-1}
{-1,-1,0}
2
Returns: 2
{0,-1,-1,0,1,1}
{1,0,-1,-1,0,1}
2
Returns: 0
{0,0,1,1,0,-1,-1}
{0,-1,0,1,1,0,-1}
3
Returns: 2
{-2,-1,0,1,2}
{0,0,0,0,0}
3
Returns: 0
{-2,-1,0,1,2,-2,2}
{0,0,0,0,0,-1,1}
3
Returns: 9
{0,0,0,0,0,-1,1}
{-2,-1,0,1,2,-1,1}
3
Returns: 4
{-1,0,1}
{-1,0,1}
3
Returns: 18
{1,0,-1,-1,0,1,1,0,-1,0,0}
{2,2,1,0,0,0,-1,-2,-2,-1,1}
3
Returns: 1
{-2,-1,0,1,2,1,-1,-2,2,2,-2}
{-1,0,0,0,1,-1,1,0,0,2,-2}
3
Returns: 4
{-2,-1,0,1,2,2,2,1,0,-1,-2,-2,0}
{0,1,2,2,2,1,0,-1,-2,-2,-2,-1,0}
3
Returns: 2
{0,1,2,-2,-1,0,0}
{2,2,2,-2,-2,-2,0}
3
Returns: 13
{0,0,0,-1,-2,1,2}
{-2,-1,0,0,0,1,2}
3
Returns: 8
{0}
{0}
4
Returns: 78408
{0,-1,0,1,1,0,-1}
{0,-1,-1,0,1,1,0}
4
Returns: 1940
{0,0,0,0,-1,-2,-3,1,2,3,1,0,-1}
{0,-1,-2,-3,0,0,0,1,2,3,0,1,-1}
4
Returns: 64
{1,0,-1,-1,0,1,1,0,-1}
{2,2,1,0,0,0,-1,-2,-2}
4
Returns: 50
{0,0,0,0,0}
{3,2,1,0,-1}
4
Returns: 3500
{0,0,0,0,0}
{-3,-2,-1,0,1}
4
Returns: 3500
{-1,-1,-1,-1,2,2,2,2,0}
{0,-1,-2,-3,3,2,1,0,1}
4
Returns: 63
{3,3,3,3,2,1,0,-1,-2,-3,-3,-3,-3,-2,-1,0,1,2,-1,-1,0,1,1,0}
{3,2,1,0,-1,-2,-3,-3,-3,-3,-2,-1,0,1,2,3,3,3,0,-1,-1,0,1,1}
4
Returns: 0
{0,-1,-1,0,1,1,0,0,-1,-2,-3,-3,-3,-3,-2,-1,0,1,2,3,3,3,3,2,1}
{1,0,-1,-1,0,1,0,3,2,1,0,-1,-2,-3,-3,-3,-3,-2,-1,0,1,2,3,3,3}
4
Returns: 2
{3,-3,0,3,0,-3,0}
{0,0,3,3,-3,-3,0}
4
Returns: 4732
{0,0,2,-2,2}
{-1,2,2,-1,-1}
4
Returns: 1625
{-1,-1,2}
{1,-1,-1}
4
Returns: 12900
{1,2,-2}
{3,1,-1}
4
Returns: 13715
{3,3,0}
{0,2,2}
4
Returns: 15295
{0,-2,-2}
{-3,-1,1}
4
Returns: 17372
{-2,-2,-2,-3,-3,-3,-2}
{1,0,-1,-2,-3,0,-2}
4
Returns: 0
{-2,-2,-1,0,0,-1,0}
{0,-1,-1,0,1,1,-1}
4
Returns: 0
{2,0,0,-2,0}
{2,2,0,-1,-2}
4
Returns: 1296
{1,1,1,1,1,1,2}
{3,2,1,0,-1,-2,-1}
4
Returns: 1930
{2,1,0,-1,-2}
{2,1,0,-1,-2}
4
Returns: 2450
{2,1,0,-1,-2}
{0,0,0,0,0}
4
Returns: 2450
{-3,-3,-3,-3,-2,-1,0,1,2,3,3,3,3,2,1,0,-2,-2,-1,0,1,1,2,1,0,-1,-2,-2,-1,-1,0,0,2,2,1}
{0,-1,-2,-3,-3,-3,-3,-2,-1,0,1,2,3,3,3,3,0,1,1,1,2,1,0,-1,-2,-2,-2,-1,0,-1,0,-1,1,2,0}
4
Returns: 1
{-2,-3,-3,-3,-3,-2,-2,-2,-1,-1,-1,-1,0,0,0,0,0,-1,-2,-1,0,0,1,1,1,1,1,1,2,2,2,2,3,3,3,3,2}
{0,0,-1,-2,-3,-3,-2,-1,0,-1,-2,-3,-3,-2,-1,0,1,1,1,2,2,3,3,2,1,0,-1,-2,0,1,2,3,3,2,1,0,-1}
4
Returns: 1
{-3}
{-3}
4
Returns: 117600
{-2,1,1,-2,3,3,-2,-3,1,1,-1,1,3,-1,-3,0,0,0,0,3,1,-2,-3,-3,2,-1,2,-1,0,0,-2,-1,2,2,2,-1,0}
{1,0,-2,-3,2,0,0,-2,2,1,2,3,1,-2,-1,-1,0,3,1,3,-1,-1,0,-3,1,1,-1,-3,-2,-3,-2,0,2,3,0,-1,2}
4
Returns: 1
{0,2,-2,1,0,-1,2,-2,1,1,0,-1,-2,2,1,0,0,-1,-1}
{2,0,-1,1,0,-2,2,0,-1,0,1,-1,-2,1,2,-1,-2,0,1}
3
Returns: 1
{0}
{0}
1
Returns: 1
{0,1,0,0,1,-1,-1}
{0,0,-1,1,1,0,-1}
2
Returns: 1
Here the entire battlefield is occupied by Petr's heroes. Therefore there exists only one possible arrangement.
{0, 1, 0, 0, 1, -1, -1 }
{0, 0, -1, 1, 1, 0, -1 }
2
Returns: 1
{-1, 0, 0, 1, 2 }
{0, 0, 1, 0, 0 }
4
Returns: 3180
{0 }
{0 }
4
Returns: 78408
{0 }
{0 }
3
Returns: 104