﻿ ABC183 C - Travel - Atcoder

# Home

Score : $300$ points

### Problem Statement

There are $N$ cities. The time it takes to travel from City $i$ to City $j$ is $T_{i, j}$.

Among those paths that start at City $1$, visit all other cities exactly once, and then go back to City $1$, how many paths take the total time of exactly $K$ to travel along?

### Constraints

• $2\leq N \leq 8$
• If $i\neq j$, $1\leq T_{i,j} \leq 10^8$.
• $T_{i,i}=0$
• $T_{i,j}=T_{j,i}$
• $1\leq K \leq 10^9$
• All values in input are integers.

### Input

Input is given from Standard Input in the following format:

$N$ $K$
$T_{1,1}$ $\ldots$ $T_{1,N}$
$\vdots$
$T_{N,1}$ $\ldots$ $T_{N,N}$


### Output

Print the answer as an integer.

### Sample Input 1

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


### Sample Output 1

2


There are six paths that start at City $1$, visit all other cities exactly once, and then go back to City $1$:

• $1\to 2\to 3\to 4\to 1$
• $1\to 2\to 4\to 3\to 1$
• $1\to 3\to 2\to 4\to 1$
• $1\to 3\to 4\to 2\to 1$
• $1\to 4\to 2\to 3\to 1$
• $1\to 4\to 3\to 2\to 1$

The times it takes to travel along these paths are $421$, $511$, $330$, $511$, $330$, and $421$, respectively, among which two are exactly $330$.

### Sample Input 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


### Sample Output 2

24


In whatever order we visit the cities, it will take the total time of $5$ to travel.