#P15983. [Roi2012 Team]拯救小猫

[Roi2012 Team]拯救小猫

题目 F.

Arthur 参加一个电视节目,需要在一个矩形场地中救出小猫。

场地是 n×mn\times m 的矩形,被划分为单位正方形。Arthur 初始在一个格子,小猫在另一个格子,电梯在第三个格子。Arthur 需要先走到小猫所在格子,带上小猫,再走到电梯所在格子。

每一步 Arthur 可以移动到上下左右相邻的格子。移动后,他刚离开的格子会消失,之后不能再踏上。因此,路径不能经过同一个格子两次,包括 Arthur 初始格子和小猫所在格子。

Arthur 想先最小化总步数,然后求出在最小总步数下有多少种不同走法。答案对 109+710^9+7 取模。

输入格式

第一行包含两个整数 n,mn,m2n,m1002\le n,m\le 100)。

第二行包含 xA,yAx_A,y_A,表示 Arthur 初始格子坐标。

第三行包含 xK,yKx_K,y_K,表示小猫格子坐标。

第四行包含 xE,yEx_E,y_E,表示电梯格子坐标。

三处格子两两不同,且 1xn,1ym1\le x\le n,1\le y\le m

输出格式

输出一个整数,表示在不重复踏格、并且总步数最小的前提下,从 Arthur 到小猫再到电梯的走法数量,答案对 109+710^9+7 取模。

样例输入

3 3
1 1
3 3
2 2

样例输出

2

样例图

样例中的两种最短走法