题目描述
你好~
我有 N 个整数 a1,a2,…,aN。
在重排这 N 个数的全部 N! 种方案中,我想知道有多少种方案满足:任意两个相邻数的乘积均小于等于给定整数 w。
答案对 998244353 取模。
输入格式
第一行包含两个正整数 N,w。
第二行包含 N 个整数 a1,a2,…,aN,表示给定序列。
输出格式
输出一个整数,表示合法排列的数量对 998244353 取模的结果。
样例 1
样例输入 1
3 8
2 -1 5
样例输出 1
2
样例 2
样例输入 2
6 5
1 1 4 5 1 4
样例输出 2
144
样例 3
样例输入 3
10 907900977
-34871 14 -1369364 -56 439813067 -100 -1398893 -4799474 58838 34
样例输出 3
362880
数据范围与约定
对于全部数据:
1≤N≤105,
0≤∣ai∣,w≤109.
| 测试点编号 |
N 的范围 |
特殊性质 |
| 1 |
N≤10 |
无 |
| 2 |
N≤20 |
| 3∼4 |
N≤2000 |
ai≥0 |
| 5∼6 |
N≤105 |
| 7∼8 |
N≤2000 |
无 |
| 9∼10 |
N≤105 |