编程题
### 问题描述
你在设计一个非常大的计算机网络,其中有 $n$ 个设备,每个设备互不相同,标号从 $1$ 到 $n$,任意两个设备之间都有一条线路将这两个设备连接,所以总共有 $\frac{n(n-1)}{2}$ 条线路。
由于一些原因,每条线路都是单向的,数据只能从一个设备传到另一个设备中。尽管如此,这个计算机网络中还是可能会存在一些环。一个环由若干个设备首尾相连形成,并且两两设备之间能任意传输数据。一个环的大小是这个环中点的个数。
在设计网络的过程中,甲方总共向你提了 $k$ 个要求,其中第 $i$ 个要求给了你一个值 $a_i$,代表图中必须出现大小恰好为 $a_i$ 的环。
你想知道,总共能有多少种不同的计算机网络满足甲方给定的要求,由于这个数字可能很大,你需要对 $998244353$ 取模后输出。
### 输入格式
第一行输入两个整数 $n,k$,代表总共有 $n$ 个点,$k$ 个要求。
第二行输入 $k$ 个整数,分别代表 $k$ 个要求。
### 输出格式
输出共一行,包含一个整数,代表方案数对 $998244353$ 取模。
### 样例输入
```text
3 1
3
```
### 样例输出
```text
2
```
### 评测数据规模
对于所有评测数据, $3\leq n\leq 10^5$,$1\leq k \leq n-1$,$2\leq a_i\leq n$。