킹의 행마

N by N 체스판에서 두 칸을 킹 이동으로 최단 거리로 연결하는 경로 수를 5318008로 나눈 나머지를 구합니다.

보통6조합론수학아직 제출이 없습니다시간 제한4초메모리 제한256 MB

문제

체스는 두 편이 말을 움직여 상대의 킹을 잡으려는 경기다. 말마다 움직이는 범위가 다르다. 경기 초반의 킹은 약하다. 다른 말보다 느리게 움직이고, 대개 자기 폰 뒤에 숨어 있다. 양쪽 퀸이 판에서 사라지면 킹이 나설 때가 된다. 킹을 위협할 말이 거의 남지 않아 판 위를 안전하게 돌아다닐 수 있고, 이 단계의 킹은 기동력이 좋아 오히려 위험한 말 중 하나가 된다. 이 문제는 그 기동력을 잰다.

N×NN \times N 칸으로 이루어진 체스판이 있고, 판 위의 말은 킹 하나뿐이다. 각 칸은 1X,YN1 \le X, Y \le N인 좌표 (X,Y)(X, Y)로 나타낸다. 킹은 한 번에 가로, 세로, 대각선으로 맞닿은 칸으로 움직인다. 즉 (X,Y)(X, Y)에서 a,b{1,0,1}a, b \in \{-1, 0, 1\}이고 (a,b)(0,0)(a, b) \ne (0, 0)인 칸 (X+a,Y+b)(X + a, Y + b) 최대 여덟 개 중 하나로 갈 수 있다. 판 밖으로는 나갈 수 없다.

킹은 한 칸에서 출발해 다른 한 칸까지 가능한 한 적은 횟수로 이동하려고 한다. 최소 이동 횟수로 목적지에 도착하는 경로가 몇 가지인지 세어라. 어떤 이동 뒤에 킹이 서 있는 칸이 다르면 서로 다른 경로다.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스는 두 줄로 이루어진다.

  • 첫 줄에 판의 크기 NN이 주어진다. 2N50002 \le N \le 5000이다.
  • 둘째 줄에 네 정수 X1X_1, Y1Y_1, X2X_2, Y2Y_2가 공백으로 구분되어 주어진다. 1X1,Y1,X2,Y2N1 \le X_1, Y_1, X_2, Y_2 \le N이다. 킹은 (X1,Y1)(X_1, Y_1)에서 출발해 (X2,Y2)(X_2, Y_2)로 가려고 하며, 두 칸은 서로 다르다.

출력

각 테스트 케이스마다 한 줄에 정수 하나를 출력한다. 킹이 최소 이동 횟수로 목적지에 도착하는 경로의 수를 5318008로 나눈 나머지다.