eolymp
bolt
Try our new interface for solving problems
Problems

Spaceship

Spaceship

Bessie the cow has been abducted by aliens and is now trapped inside an alien spaceship! The spaceship has n rooms labelled 1...n, with one-way doors connecting between some pairs of rooms (due to the strange alien technology at play, it is even possible for a door to lead from a room back to itself!). However, no two doors share the same starting and end room. Additionally, Bessie has a remote with buttons numbered 1...k.

The aliens will release Bessie if she can complete a strange task. First, they will choose two rooms, s and t, and two numbers bs and bt (1bs, btk). They will start Bessie in room s and immediately have her press button bs. Bessie will then proceed to navigate the ship while pressing buttons. There are a few rules for what Bessie can do:

  • In each room, after pressing exactly one button, she must choose to either exit through a door to another (possibly the same) room or stop.
  • Once Bessie presses a button, it is invalid for her to press the same button again unless, in the time between uses, she has pressed a button with a higher number. In other words, pressing button number x will make it unavailable for use, while all buttons with numbers < x will be reset and again available for use.
  • If Bessie presses an invalid button, she automatically fails and the aliens will keep her.

Bessie is released only if she stops in room t, the last button she pressed was bt and no invalid buttons were ever pressed.

Bessie is worried that she may not be able to complete the task. For q queries, each consisting of what Bessie considers a likely choice of s, t, bs and bt, Bessie wants to know the number of sequences of rooms and button presses that would lead to her release. Report your answers modulo 109 + 7 as they may be very large.

Input

The first line contains n (1n60), k (1k60), q (1q60). The next n lines each contain n bits (each 0 or 1). The j-th entry of the i-th line is 1 if there exists a door from room i to room j, and 0 if no such door exists.

This is followed by q lines, each containing four integers bs, s, bt, t (1s, tn), denoting the starting button, starting room, final button, and final room respectively.

Output

The number of sequences for each of the q queries modulo 109 + 7 on separate lines.

Example

The doors connect rooms 12, 23, 34, 45 and 66.

For the first query, Bessie must stop immediately after pressing the first button.

For the second query, the answer is clearly zero because there is no way to get to room 1 from room 3.

For the third query, Bessie's only option is to move from room 1 to room 2 to room 3 while pressing buttons 1, 2 and 3.

For the fourth query, Bessie's pattern of movement is fixed, and she has three possible sequences of button presses:

(1,2,3,2,1)
(1,2,1,3,1)
(1,3,1,2,1)

For the last query, Bessie has five possible sequences of button presses:

(2)
(2,3,2)
(2,3,1,2)
(2,1,3,2)
(2,1,3,1,2)
Time limit 3 seconds
Memory limit 128 MiB
Input example #1
6 3 8
010000
001000
000100
000010
000000
000001
1 1 1 1
3 3 1 1
1 1 3 3
1 1 1 5
2 1 1 5
1 1 2 5
3 1 3 5
2 6 2 6
Output example #1
1
0
1
3
2
2
0
5
Input example #2
6 4 6
001100
001110
101101
010111
110111
000111
3 2 4 3
3 1 4 4
3 4 4 1
3 3 4 3
3 6 4 3
3 1 4 2
Output example #2
26
49
29
27
18
22
Source 2020 USACO December, Platinum