#agc025b. [agc025_b]RGB Coloring

[agc025_b]RGB Coloring

题目描述

高桥有一个塔,分为 NN 层。初始时,所有的层都没有上色。高桥打算用红色、绿色或蓝色来粉饰塔顶,使其成为一座美丽的塔。他将“塔的美丽度”定义如下:

  • 塔的美丽度是 NN 层中各层得分的总和,其中每层的得分如下所示:如果该层上色为红色,则得分为 AA;如果该层上色为绿色,则得分为 A+BA+B;如果该层上色为蓝色,则得分为 BB;如果该层没有上色,则得分为 00

这里,AABB 是事先给定的正整数。注意,一层不能同时被涂上两种或更多种颜色。

高桥计划为塔涂色,使塔的美丽度恰好为 KK。有多少种不同的涂色方法?将计数结果模 998244353998244353 输出。

约束条件

  • 1N3×1051 ≤ N ≤ 3×10^5
  • 1A,B3×1051 ≤ A,B ≤ 3×10^5
  • 0K18×10100 ≤ K ≤ 18×10^{10}
  • 输入中的所有值都是整数。

输入格式

从标准输入读入数据,格式如下:

NN AA BB KK

输出格式

打印涂色方案的数量,结果需取模 998244353998244353


示例输入 1

4 1 2 5

示例输出 1

40

在这种情况下,一个红色层价值 11 分,一层绿色层价值 33 分,蓝色层价值 22 分。当塔顶采用以下涂色方案之一时,塔的美丽度为 55

  • 11 层绿色,11 层蓝色
  • 11 层红色,22 层蓝色
  • 22 层红色,11 层绿色
  • 33 层红色,11 层蓝色

共有 4040 种不同的方案。


示例输入 2

2 5 6 0

示例输出 2

1

只有当所有的层都没有上色时,塔的美丽度才为 00。因此答案为 11


示例输入 3

90081 33447 90629 6391049189

示例输出 3

577742975