You are given a grid which contains integers.
Some of the 9 elements in the grid will have a value already, and the remaining elements will be unspecified. Every element, including those which are unspecified, must be an integer from to , inclusive.
Your task is to determine the number of ways to fill the grid so that each row, when read from left-to-right is an arithmetic sequence, and that each column, when read from the top-down, is an arithmetic sequence. There is guaranteed to be at least one way. As this number may be large, please output it modulo .
Two ways of filling the grid are distinct if there is some cell which contains a different number in each way of filling the grid.
Recall that an arithmetic sequence of length three is a sequence of integers of the form
for integer values of and . Note that may be any integer, including zero or a negative integer.
Input Specification
The input will be 3 lines long. Each line will have three space-separated values. Each given value will either be an integer in the range from to , inclusive, or the symbol X
. However, the unspecified values may be integers in the range from to , inclusive.
For 10 of the 100 marks available, there will be 9 X
symbols in the input.
For an additional 40 of the 100 marks available, there will be 8 X
symbols in the input.
For an additional 40 of the 100 marks available, there will be 7 X
symbols in the input.
For the final 10 of the 100 marks available, there will be 4 X
symbols in the input.
Output Specification
Output a single integer, the number of valid ways to fill the grid taken modulo .
Sample Input 1
8 9 10
16 X 20
24 X 30
Sample Output 1
1
Sample Input 2
X 0 X
0 0 0
X 0 X
Sample Output 2
2000001
Comments