#CSPJ2022SDT4. 吟诗(poetize)

吟诗(poetize)

第四题 吟诗(poetize)

题目描述

"文章本天成,妙手偶得之。"

吟诗是表达情怀的常用手段,战争落下了帷幕,常年的军旅生活使得小虾米喜欢上了豪放 派的诗歌。 这一天,小虾米突然想吟诗了。著名的豪放派诗人苏轼有“老夫聊发少年狂,左牵黄,右擎苍。”的豪放,又有“十年生死两茫茫,不思量,自难忘。”的悲怆。小虾米心向往之,于是也想用《江城子》词牌名作诗。

小虾米想作出能流传千古的诗,根据经验,如果一首诗存在妙手就能流传千古。

具体来说,一首 N 个字的诗,每个字可以用 1 到 10 之间的某个正整数来表示。同时存在三个正整数 X,Y,Z(1 ≤ X ≤ 7,1 ≤ Y ≤ 5,1 ≤ Z ≤ 5),如果诗中出现了三个连续的片段使得 第一个片段之和为 X,第二个片段之和为 Y,第三个片段之和为 Z,则小虾米认为这首诗出现了妙手

即长度为 n 的序列 a1,a2...an(1ai10)a_1 , a_2 . . . a_n (1 ≤ a_i ≤ 10), 如果存在 i,j,k,li, j, k, l 1i<j<k<ln 1 ≤ i < j < k < l ≤ n 使得 ai+ai+1+...aj1=Xa_i + a_{i+1} + . . . a_{j−1} = Xaj+aj+1+...ak1=Ya_j + a_{j+1} + . . . a_{k−1} = Yak+ak+1+...al1=Za_k + a_{k + 1} + . . . a_{l−1} = Z 同时成立,则认为序列 出现了妙手(注:第二个片段紧接第一个片段,第三个片段紧接第二个片段)。

举例来说,如果 N=7X=7Y=3Z=3N=7, X=7,Y=3,Z=3,则所有长度为 7 的序列中,很显然共有 10 种序列,其中一种序列 [1,5,2,2,1,3,4][1, 5, 2, 2, 1, 3, 4] 出现了妙手,因为存在三个连续的区间 [2,3][4,5][6,6][2, 3]、[4, 5]、[6, 6] 满足它们的和分别为 X=7Y=3Z=3X=7,Y=3,Z=3

小虾米想知道在给定 N, X, Y, Z 的前提下(共计10 种序列,即共10 种诗),计算有多少种存在妙手的诗,请你帮他计算出答案。

由于答案可能很大,请你将结果对 998244353998244353 取模。

输入格式(输入文件为 poetize.in)

一行,以空格隔开的 4 个正整数 N,X,Y,Z, 分别表示序列长度和题目中 X, Y, Z 的值。

输出格式(输出文件为 poetize.out)

一行,一个整数,表示答案对 998244353998244353 取模的结果。

输入输出样例

样例一

3 2 3 3
1

样例一说明

在所有可能的序列中,只能构造出一种序列 [2, 3, 3] 满足题意,因此答案为 1。

样例二

4 7 5 5
34

样例三

23 7 3 5
824896638

数据范围

对于 30% 的数据,3N53 ≤ N ≤ 5;

对于 60% 的数据,3N203 ≤ N ≤ 20;

对于 100% 的数据,3N40,1X7,1Y5,1Z53 ≤ N ≤ 40, 1 ≤ X ≤ 7,1 ≤ Y ≤ 5,1 ≤ Z ≤ 5。