#bzoj4352. Tower

Tower

题目描述

你要用nn个积木拼成一个塔,第ii个积木长度是aia_i

给定DD,积木ii能搭在积木jj上面,当且仅当aiajDa_i-a_j\le D

求合法的搭积木方案数。

由于你最近学了多项式乘法,所以对NTT\text{NTT}感兴趣,你想知道答案对998244353(7×17×223+1)998244353(7\times 17\times 2^{23}+1)取模的结果,这个模数是一个质数。

输入格式

第一行两个数n,Dn,D,第二行nn个数aia_i

输出格式

只有一个数表示答案

样例

4 1
1 2 3 100
4

样例解释

对于第一个点,显然最后一个积木只能在下面,考虑前33个积木,(1,2,3),(2,3,1),(3,1,2),(3,2,1)(1,2,3),(2,3,1),(3,1,2),(3,2,1)都是合法的。

数据范围与约定

对于100%100\%的数据,有n700000n\le 700000.