#3831. Hack比赛

Hack比赛

题目描述

Codefires round马上就要结束了!ZCC已经通过做题得到了CC分。但他惊讶地发现,房间里的其他选手也都解决了最难的题。

ZCC根据经验断定大多数的选手都会FST的!当然,除去rating最高的选手Memset137Memset137。在此之前,ZCC想要hack他们来使他的得分更高。除了ZCC,房间里有 NN 个选手,他们已经被按照ratingrating从小到大排序了(所以Memset137Memset137是排在第N个的选手)。当ZCC成功hack了第 ii 个选手时,他会获得 ii 分的收入。

你可以假设ZCC hack技术高超,百发百中,可以hackhack除了 Memset137Memset137 和自己以外的所有选手,而且在此期间没有其他选手干扰。

由于ZCC有着谦虚的美德,他不想让自己的得分太高。ZCC想要知道,存在着多少种不同的选择一些人hackhack 的方案,使得他的得分在LLR(CLR<C+N)R (C \le L \le R \lt C+N)之间。

显然答案会很大,请输出答案对998244353998244353取模后的结果。

输入格式

一行,四个整数n,c,l,rn,c,l,r分别表示nn个选手,当前分数为cc,希望得分在llrr之间

输出格式

输出一行,方案数

样例

输入

3 0 1 2

2

输出

5 13 14 17

6

100 0 23 59

90567

提示

对于20%20 \%的数据: 1N501 \le N \le 50

对于50%50 \%的数据:1N2000 1 \le N \le 2000

对于100%100 \%的数据: $1 \le N \le 100000, 1 \le C \le 1000000,C \le L \le R \lt C+N$;