#B351. 货币

货币

题目描述

Alice中奖得到了 XX 元额度!但是她并不能直接将这些额度提现,她需要通过兑换货币的方式将额度提现。

Alice 可以找到一家提供面值为 yy 元的货币的机构进行提现。具体的,如果 Alice 现在还有 xx 元额度,那么她将尽可能地兑换面值为 yy 元的货币,直到 Alice 只剩下 xmodyx \bmod y 元额度。

现在 Alice 选择了 nn 家机构,第 ii 家机构提供的货币面值为 aia_i。Alice 将前往 nn 家机构进行替换。Alice 发现她可能会浪费一些额度,而拜访机构的方案总共有 n!n! 种。她想知道所有方案中浪费的额度之和为多少?这个值可能非常大,她只需要你求出答案对 998244353998244353 的值。

输入格式

第一行两个正整数 n,Xn, X,表示机构的数量和 Alice 的初始额度。

第二行共 nn 个正整数 aia_i,表示第 ii 家机构提供的货币面值为 aia_i

输出格式

一行一个整数,表示答案对 998244353998244353 取模的值。

5 82
22 11 6 5 13
288

数据范围

  • 对于 30% 的数据,1n101 \leq n \leq 10
  • 对于另外 30% 的数据,1ai51 \leq a_i \leq 5
  • 对于 100% 的数据,1n200,1ai,X1051 \leq n \leq 200, 1 \leq a_i, X \leq 10^5