NLCS Jeju 학생들은 교내에서 학생증(lanyard)을 착용해야 한다. 준석이는 학교의 통제 정책을 싫어하기 때문에 학생증을 착용하지 않고 다니는데, 선생님에게 걸리는 바람에 쫓기고 있다.
추격전을 벌이고 있는 준석이와 선생님을 목격한 교장 선생님은 학교를 미로로 바꾸었다. 미로는 가로 N, 세로 M의 2차원 격자로 표현될 수 있다. 좌상단에서 가로로 x칸, 세로로 y칸 떨어져 있는 칸은 (x,y)로 표현한다. 미로상의 각 칸은 비어 있거나, 포털이 설치되어 있거나, 벽으로 막혀 있다. (0,0)와 (N−1,M−1)은 비어 있음이 보장된다.
각 포털은 다른 포털 하나와 연결되어 있다. 따라서 연결되어 있는 두 포털은 포털 쌍을 이룬다.
준석이는 다음 규칙에 따라 (0,0)에서 (N−1,M−1)으로 이동하려고 한다.
준석이가 이동할 때 거치는 칸의 목록을 ‘경로’라고 정의하자. 가능한 경로의 가짓수를 세는 프로그램을 작성하시오.
입력의 첫 줄에 N과 M, K가 공백으로 구분되어 주어진다. N과 M은 각각 미로의 가로·세로 칸 수를 나타낸다. K는 포털 쌍의 수를 나타낸다.
다음 M 줄에 미로에 대한 정보가 주어진다. M개의 줄 중 i번째의 줄은 길이 N인 문자열로, i번째 줄의 j번째 문자는 (j−1,i−1)의 정보를 나타낸다.
0은 빈칸을 나타낸다. (0,0)과 (N−1,M−1)은 빈칸임이 보장된다.1은 벽을 나타낸다.P는 포털을 나타낸다.다음 K 줄에 각 포털 쌍에 관한 정보가 주어진다. 각 줄에 네 정수 x_1, y_1, x_2, y_2가 공백으로 구분되어 주어지며, (x_1,y_1)과 (x_2,y_2) 사이를 잇는 포털 쌍이 존재함을 의미한다. 각 포털의 좌표는 서로 다르며, 포털은 미로상에 P로 표시된 지점상에만 위치함이 보장된다.
첫 번째 줄에 (0,0)에서 (N−1,M−1)까지를 잇는 경로의 가짓수를 출력한다. 결과가 매우 클 수 있기 때문에, 결과를 109+7로 나눈 나머지를 출력한다.
나머지 연산에 대하여 다음이 성립한다.