체스판
시간 제한2초메모리 제한512 MB
두 말이 (1,1)에서 각각 오른쪽과 아래로 출발해 (N,M)까지 이동할 때, 금지된 칸을 피하면서 같은 칸에서 만나지 않는 경로쌍의 개수를 센다.
문제
크기가 인 체스판이 있다. 체스판의 행 번호는 위에서부터 이고, 열 번호는 왼쪽에서부터 이다. 체스판의 각 칸은 로 표현한다. 여기서, 는 행 번호, 는 열 번호이다. 그리고, 체스판에는 개의 금지된 칸이 존재한다. 단, 과 은 금지된 칸이 아니다.
말 , 는 에서 시작하여 다음의 규칙에 따라 동시에 한 칸씩 이동하며 까지 가려고 한다.
- 어떤 말이 현재 에 있다면, 해당 말은 또는 으로 이동할 수 있다. 이 때, 말이 체스판을 벗어나는 이동은 허용하지 않는다.
- 처음에 말 는 에서 로 이동하며, 말 는 에서 로 이동해야 한다.
- 이동하는 과정에서 두 말은 과 를 제외하고 어떤 칸에서도 만나서는 안된다.
- 어떤 말도 금지된 칸으로 이동할 수 없다.
이러한 규칙을 따르면서 말 , 가 에서 동시에 출발하여 으로 도달할 수 있는 경로쌍의 개수를 구해보자. 말 가 이동한 경로를 , 말 가 이동한 경로를 라고 하면 조건을 만족하는 의 개수를 구하면 된다.
입력
첫 번째 줄에는 체스판의 행 크기 , 열 크기 , 금지된 칸의 개수 가 공백으로 구분되어 주어진다.
두 번째 줄부터 번째 줄까지는 금지된 칸의 행 번호 , 열 번호 가 공백으로 구분되어 주어지며, 같은 칸은 두 번 이상 주어지지 않는다.
입력에서 주어지는 모든 수는 정수이다.
출력
말 , 가 에서 동시에 출발하여 으로 도달할 수 있는 경로쌍의 개수를 로 나눈 나머지를 출력한다.