题号:NC220738
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
牛牛在X城市旅游。X城市可以看成是一个

的网格图,图上的每个点是X城市的一个建筑物,每条边代表连接两个建筑物之间的道路。
我们把第一行的建筑物从左到右编号为

到

,第二行的建筑物从左到右编号为

到

。
建筑物

到建筑物

(

或

)的道路长度为

。
建筑物

到建筑物

(

)的长度为

。
现在牛牛在规划旅游的路线,牛牛会选择从建筑物

出发
)
,然后走到建筑物t结束
)
。
因为牛牛不喜欢重复,所以一条合法的路线是从

到

的一条简单路径,即这条路径不能经过同一个点两次。
现在牛牛想知道,所有合法的路线的长度和为多少。一条路线的长度是这条路线上所有道路长度的和。答案模998244353。
输入描述:
第一行三个整数
。
。
第二行
个整数
。
。
输出描述:
输出一行一个整数,整数要对998244353取模。
示例1
说明
2到7的合法路径有:
2->1->5->6->7,长度为4
2->3->4->8->7,长度为7
2->3->7,长度为4
2->6->7,长度为3
长度和为4+7+4+3=18