#P16705. 奖励

奖励

题目描述

你翻阅古籍,发现了一种古老的飞行方式。

在原来的飞行方式中,每个时刻你都会前进一次。若当前位于 (t,h)(t,h),则会移动到

(t+1,h+1),(t+1,h+1),

并付出 h+1h+1 的代价。

每次前进之后,你都可以进行一次不消耗时间和代价的下坠,即可以把当前位置 (t,h)(t,h) 变为任意的

(t,h),hh.(t,h'),\qquad h'\le h.

但你厌倦了每次都要决定下坠到哪里,于是改进了飞行方式。

现在,一次前进可以从 (t,h)(t,h) 直接到达

(t+z,h+z),z>0.(t+z,h+z),\qquad z>0.

若一次前进的长度为 zz,那么这次前进的代价为

(h+z)2z1.(h+z)^{2z-1}.

一条完整路径的代价,等于这条路径上每次前进代价的乘积。

你在时刻 00 从高度 h0h_0 出发,即起点为 (0,h0)(0,h_0)。你需要经过若干次前进,并在每次前进后进行一次下坠。经过最后一次下坠后,你位于

(n,H),H[l,r].(n,H),\qquad H\in[l,r].

求所有满足条件的路径的代价之和,对 998244353998244353 取模。

输入格式

一行包含四个整数 n,h0,l,rn,h_0,l,r

输出格式

输出一行一个整数,表示所有满足条件的路径的代价之和对 998244353998244353 取模后的结果。

样例 1

2 13 11 11
4285

样例解释 1

可以先前进 11 格,付出代价 1414。随后下坠 040\sim 4 格,再前进 11 格。第二次前进的代价之和为

11+12+13+14+15,11+12+13+14+15,

因此这类路径的总代价为

14×(11+12+13+14+15)=910.14\times(11+12+13+14+15)=910.

也可以第一次直接前进 22 格,其代价为

153=3375.15^3=3375.

所以答案为

910+3375=4285.910+3375=4285.

样例 2

211 985 666 999
989999638

数据范围与约定

  • 对于 10%10\% 的数据,h01000h_0\le 1000
  • 对于另外 20%20\% 的数据,h0l500|h_0-l|\le 500
  • 对于另外 10%10\% 的数据,rl105r-l\le 10^5
  • 对于全部数据,n500n\le 5002nh01092n\le h_0\le 10^9nlrh0+nn\le l\le r\le h_0+n