编程题
### 问题描述
不久之后,或者说许多年之后, Clrlss 和 Yaya 都顺利从大学毕业,逐渐步入了社会。此时的他们似乎失去了往日对思考的热爱,取而代之的则是对生活苟且的无尽考量。不知何时,往日解题带给他们的激情似乎再也不能激起他们的兴趣。但是在生活中,他们却延续了学生时期的做法,依旧喜欢找个有空的下午,坐在一起,对着一道看似束手无策的难题发呆。
在这一天也是如此。他们碰到了一个有趣的排列计数问题:
给定一个长度为 $n$ 的序列 $a_{1..n}$ , 问存在多少个排列 $p_{1..n}$ , 满足 $\Sigma ^{n} _{i=1} \min\\{{a_i,a_{p_i}}\\} = k$ ?
由于这个答案可能非常大,所以他们只感兴趣答案对 $998244353$ 取模之后的结果。
### 输入格式
第一行输入两个整数 $n,k$ ($2 \le n \le 100 , 0 \le k \le 10000$) ,表示序列的长度和题意中给定的阈值 $k$ 。
第二行输入 $n$ 个整数 $a_{1},a_{2},...,a_{n}$ , 表示给定的序列 ($1 \le a_i \le 100$)。
### 输出格式
一行一个整数,表示合法的排列的数量,对 $998244353$ 取模。
### 样例输入
```
3 5
1 2 3
```
### 样例输出
```
2
```
### 说明
对于样例,合法的排列 $p$ 有:
- $1,3,2$
- $2,1,3$
共两个。