编程题
### 问题描述
某星球有 $n$ 座小城。对于任意两座小城 $u, v$,康康想在 $u, v$ 之间建立一个传送时间为 $w(u, v)$ 的无向传送通道,其中 $w(u, v)$ 为不超过 $k$ 的非负整数。建成后,该星球的居民可从一座小城出发经过一个或若干个传送通道到达另一座小城,花费的时间为所有经过的传送通道的传送时间之和。
康康还没有决定每一个传送通道的传送时间取值,只是对于任意两座小城 $u, v$,决定了从 $u$ 出发到达 $v$ 的最短时间要恰好等于 $d(u, v)$。康康想知道有几种不同的满足条件的传送通道建设方案。
由于方案数可能很大,你只用输出方案数对 $998244353$ 取模后的结果。
### 输入格式
第一行两个整数 $n, k$。
接下来 $n$ 行,每行有 $n$ 个非负整数,第 $i$ 行的第 $j$ 个数表示 $d(i, j)$ 的值。
### 输出格式
输出一个整数,表示方案数对 $998244353$ 取模的结果。如果无解,则方案数为 $0$。
### 样例输入
```
3 3
0 2 1
2 0 3
1 3 0
```
### 样例输出
```
1
```
### 评测数据规模
$1 \leq n \leq 400$,$0 \leq k \leq 10^9$。