우주선
시간 제한1초메모리 제한512 MB
각 질의마다 방 s에서 버튼 b_s로 출발해 방 t에서 버튼 b_t로 끝나는 유효한 이동과 버튼 입력의 수를 10^9+7로 나눈 나머지로 구합니다.
문제
Bessie라는 소가 외계인에게 납치되어 우주선 안에 갇혔다. 우주선에는 개의 방이 있고 방 번호는 이다. 방과 방 사이에는 한 방향으로만 통하는 문이 일부 있으며, 같은 출발 방과 도착 방을 잇는 문은 둘 이상 없다. 문이 방에서 자기 자신으로 돌아오는 것도 가능하다. Bessie에게는 번호가 인 버튼이 달린 리모컨이 있다. 외계인은 시작 방 와 도착 방 , 그리고 수 와 를 고른다. Bessie는 방 에서 출발하며 곧바로 버튼 를 누른다. 이후 아래 규칙에 따라 버튼을 누르며 우주선을 돌아다닌다. 각 방에서는 버튼을 정확히 하나 누른 뒤, 문을 통해 다른 방(같은 방도 가능)으로 나가거나 멈춰야 한다. 한 번 누른 버튼은 그 뒤에 더 큰 번호의 버튼을 누른 적이 없다면 다시 누를 수 없다. 버튼 를 누르면 는 사용할 수 없게 되고, 번호가 보다 작은 버튼은 모두 다시 사용할 수 있게 된다. 사용할 수 없는 버튼을 누르면 Bessie는 실패하고 외계인에게 붙잡힌다. Bessie는 방 에서 멈추고, 마지막으로 누른 버튼이 이며, 사용할 수 없는 버튼을 한 번도 누르지 않았을 때만 풀려난다. 개의 질의가 주어진다. 각 질의는 , , , 의 조합이며, 각 질의마다 Bessie가 풀려나게 되는 방 이동과 버튼 누름 순서의 수를 로 나눈 나머지로 구하라.
입력
첫 줄에 , , 가 주어진다. 이어지는 개 줄에는 각각 개의 비트(0 또는 1)가 주어진다. 번째 줄의 번째 비트가 1이면 방 에서 방 로 가는 문이 있고, 0이면 없다. 그 다음 개 줄에 각각 정수 네 개 , , , 가 주어진다.
출력
각 질의의 답을 로 나눈 나머지를 한 줄에 하나씩 출력한다.