AT_abc402_f [ABC402F] Path to Integer

Description

$ N $ 行 $ N $ 列のグリッドがあります。上から $ i $ 行目、左から $ j $ 列目のマスをマス $ (i,j) $ と表します。各マスには `1` から `9` までの数字が書かれており、マス $ (i,j) $ には数字 $ A_{i,j} $ が書かれています。 はじめ、コマがマス $ (1,1) $ にあります。また、 $ S $ を空文字列とし、以下の操作を $ 2N-1 $ 回繰り返します: - $ S $ の末尾に現在コマが存在するマスに書かれた数字を連結する。 - コマを現在のマスの下か右に $ 1 $ マス移動する。ただし、 $ 2N-1 $ 回目の操作では移動させない。 $ 2N-1 $ 回の操作の後、コマはマス $ (N,N) $ に存在し、 $ S $ の長さは $ 2N-1 $ となります。 最終的な文字列 $ S $ を整数としてみた値を $ M $ で割ったあまりがスコアとなります。 達成可能なスコアの最大値を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ A_{1,1} $ $ A_{1,2} $ $ \ldots $ $ A_{1,N} $ $ A_{2,1} $ $ A_{2,2} $ $ \ldots $ $ A_{2,N} $ $ \vdots $ $ A_{N,1} $ $ A_{N,2} $ $ \ldots $ $ A_{N,N} $

Output Format

答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 コマの動かし方は以下の $ 2 $ 通りがあります: - コマを $ (1,1),(1,2),(2,2) $ と順に動かしていく。 $ S= $ `121` となり、この場合のスコアは $ 121 $ を $ 7 $ で割った $ 2 $ である。 - コマを $ (1,1),(2,1),(2,2) $ と順に動かしていく。 $ S= $ `131` となり、この場合のスコアは $ 131 $ を $ 7 $ で割った $ 5 $ である。 スコアの最大値は $ 5 $ なので、 $ 5 $ を出力してください。 ### Constraints - $ 1\le N\le 20 $ - $ 2\le M\le 10^9 $ - $ 1\le A_{i,j}\le 9 $ - 入力される値は全て整数である