Bomboni
Time limit2sMemory limit1024 MB
Count the right-and-down paths from top-left to bottom-right, avoiding obstacles, whose candy values multiply to a number divisible by k, modulo 998244353.
- Level
Medium6 of 10
- Topics
- Dynamic programming, Number theory
- Solved
- No attempts yet
Statement
Iva is a big fan of candy! In front of her is an field filled with candy and obstacles. Iva is currently in the upper left cell of the field and, by moving only down and right, she will travel to the lower right cell. The cell Iva is currently in does not contain an obstacle.
In every cell, there is either an obstacle or a piece of candy with a number written on it. Iva will eat all the candy she gets her hands on during her trip (including the candy in the first and last cell) and then multiply all the numbers on them. Iva's favourite number is , and she wants the product of the numbers on the candy she has eaten to be divisible by . Count how many such paths there are. Because that number can be huge, print it modulo .
Input
The first line contains two integers and (, ), which denote the size of the field and Iva's favourite number.
Each of the next lines contains numbers describing the -th row of the field (). If , then that cell contains an obstacle. Otherwise, and that cell contains a piece of candy with that number.
Output
Print a single line with the required number.
Hint
Clarification of the second example:
There are three possible paths such that the product is divisible by 6: (5, 2, 3, 3, 1), (5, 2, 3, 6, 1), (5, 7, 3, 6, 1).