突击检查
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

渡渡鸟幼儿园中有 n 个寝室, 寝室由 n-1 个走廊连接,保证两个寝室能互相到达。你只知道有 a_i个走廊连接着第i个点, 但是你不知道每个走廊具体连接着哪些寝室。 作为宿管,你的探测器告诉你共有X个寝室的学生没有就寝。相互不通过未就寝寝室的学生会组织一场火锅聚餐,一场火锅聚餐就会使用一个火锅。现在你将会进行一次突击检查,没收全部的火锅(即未就寝联通块的数量)。如果你没收到了x个火锅,你就能获得的奖金,求你能获得奖金的期望对 998244353 取模的结果。

输入描述:

第一行两个整数 n,X

第二行 n 个整数

输出描述:

一行一个整数,代表答案。
可以证明答案可以表示为 ( P 和 Q 为整数且互质, )。
输出 .
示例1

输入

复制
5 4
1 2 2 2 1

输出

复制
399297744

说明

样例中的答案为2.8.

备注: