#abc183c. [abc183_c]Travel

[abc183_c]Travel

题目描述

NN 个城市。从城市 ii 到城市 jj 的旅行时间为 Ti,jT_{i, j}

在所有从城市 11 开始,恰好访问了所有其他城市一次,然后回到城市 11 的路径中,有多少条路径的总时间正好为 KK

约束条件

  • 2leqNleq82\\leq N \\leq 8
  • 如果 ineqji\\neq j,则 1leqTi,jleq1081\\leq T_{i,j} \\leq 10^8
  • Ti,i=0T_{i,i}=0
  • Ti,j=Tj,iT_{i,j}=T_{j,i}
  • 1leqKleq1091\\leq K \\leq 10^9
  • 输入中的所有值都是整数。

输入

输入从标准输入给出,格式如下:

NN KK T1,1T_{1,1} ldots\\ldots T1,NT_{1,N} vdots\\vdots TN,1T_{N,1} ldots\\ldots TN,NT_{N,N}

输出

输出一个整数作为答案。


示例输入 1

4 330
0 1 10 100
1 0 20 200
10 20 0 300
100 200 300 0

示例输出 1

2

有六条路径从城市 11 开始,恰好访问了所有其他城市一次,然后回到城市 11

  • 1to2to3to4to11\\to 2\\to 3\\to 4\\to 1
  • 1to2to4to3to11\\to 2\\to 4\\to 3\\to 1
  • 1to3to2to4to11\\to 3\\to 2\\to 4\\to 1
  • 1to3to4to2to11\\to 3\\to 4\\to 2\\to 1
  • 1to4to2to3to11\\to 4\\to 2\\to 3\\to 1
  • 1to4to3to2to11\\to 4\\to 3\\to 2\\to 1

这些路径的旅行时间分别为 421421511511330330511511330330421421,其中有两条路径的总时间正好为 330330


示例输入 2

5 5
0 1 1 1 1
1 0 1 1 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0

示例输出 2

24

不管以什么顺序访问城市,总旅行时间都为 55