교차는 허용되지 않아!
시간 제한1초메모리 제한256 MB
N×N 판에서 위쪽 칸 K개에 놓인 말을 아래쪽 지정 칸 K개로 겹치지 않는 단조 경로로 옮기는 경우의 수를 1e9+7로 나눈 나머지를 구한다.
문제
개의 칸으로 이루어진 판을 생각하자. 판 위에는 개의 말이 있다. 말들은 처음에 판의 맨 위쪽 칸들 중 일부에 놓여 있다.
에 있는 말은 오른쪽으로 한 칸 이동해 로 가거나, 아래로 한 칸 이동해 로 갈 수 있다.
모든 말을 판의 맨 아래쪽에 주어진 위치로 옮기되, 서로 다른 두 말의 경로가 공통된 칸을 지나지 않도록 하는 방법의 수를 구하자. 두 방법은 어떤 말의 경로가 서로 다르면 다른 방법으로 센다. 방법의 수가 클 수 있으므로 로 나눈 나머지를 구한다.
입력
첫째 줄에 테스트 케이스의 수 가 주어진다 ().
각 테스트 케이스의 첫째 줄에는 판의 크기와 말의 수를 나타내는 두 정수 과 가 주어진다 (, ).
둘째 줄에는 말의 처음 위치를 나타내는 개의 정수 , , , 가 주어진다 (). 구체적으로, 말들은 처음에 , , , 에 있다.
셋째 줄에는 말의 최종 위치를 나타내는 개의 정수 , , , 가 주어진다 (). 구체적으로, 말들은 , , , 로 옮겨져야 한다.
입력에 주어지는 모든 의 합은 을 넘지 않는다.
입력에 주어지는 모든 의 합은 을 넘지 않는다.
출력
각 테스트 케이스마다 한 줄에 답을 출력한다. 각 줄에는 말을 옮기는 서로 다른 방법의 수를 로 나눈 나머지를 출력한다.