#dpr. [dp_r]Walk

[dp_r]Walk

問題文

NN 頂点の単純有向グラフ GG があります。 頂点には 1,2,ldots,N1, 2, \\ldots, N と番号が振られています。

i,ji, j (1leqi,jleqN1 \\leq i, j \\leq N) について、頂点 ii から jj への有向辺の有無が整数 ai,ja_{i, j} によって与えられます。 ai,j=1a_{i, j} = 1 ならば頂点 ii から jj への有向辺が存在し、ai,j=0a_{i, j} = 0 ならば存在しません。

GG の長さ KK の有向パスは何通りでしょうか? 109+710^9 + 7 で割った余りを求めてください。 ただし、同じ辺を複数回通るような有向パスも数えるものとします。

制約

  • 入力はすべて整数である。
  • 1leqNleq501 \\leq N \\leq 50
  • 1leqKleq10181 \\leq K \\leq 10^{18}
  • ai,ja_{i, j}00 または 11 である。
  • ai,i=0a_{i, i} = 0

入力

入力は以下の形式で標準入力から与えられる。

NN KK a1,1a_{1, 1} ldots\\ldots a1,Na_{1, N} :: aN,1a_{N, 1} ldots\\ldots aN,Na_{N, N}

出力

GG の長さ KK の有向パスは何通りか? 109+710^9 + 7 で割った余りを出力せよ。


入力例 1

4 2
0 1 0 0
0 0 1 1
0 0 0 1
1 0 0 0

出力例 1

6

GG は次図です。

長さ 22 の有向パスは、次の 66 通りです。

  • 112233
  • 112244
  • 223344
  • 224411
  • 334411
  • 441122

入力例 2

3 3
0 1 0
1 0 1
0 0 0

出力例 2

3

GG は次図です。

長さ 33 の有向パスは、次の 33 通りです。

  • 11221122
  • 22112211
  • 22112233

入力例 3

6 2
0 0 0 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 0 1 0
0 0 0 0 0 1
0 0 0 0 0 0

出力例 3

1

GG は次図です。

長さ 22 の有向パスは、次の 11 通りです。

  • 445566

入力例 4

1 1
0

出力例 4

0

入力例 5

10 1000000000000000000
0 0 1 1 0 0 0 1 1 0
0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 1 0 1 0 1
1 1 1 0 1 1 0 1 1 0
0 1 1 1 0 1 0 1 1 1
0 0 0 1 0 0 1 0 1 0
0 0 0 1 1 0 0 1 0 1
1 0 0 0 1 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0
1 0 1 1 1 0 1 1 1 0

出力例 5

957538352

答えを 109+710^9 + 7 で割った余りを出力することを忘れずに。