#abc240g. [abc240_g]Teleporting Takahashi

[abc240_g]Teleporting Takahashi

题目描述

Takahashi位于一个无限三维网格的 (0,0,0)(0, 0, 0) 点上。

他可以在各个方格之间进行传送。从方格 (x,y,z)(x, y, z),他可以传送到 (x+1,y,z)(x+1, y, z)(x1,y,z)(x-1, y, z)(x,y+1,z)(x, y+1, z)(x,y1,z)(x, y-1, z)(x,y,z+1)(x, y, z+1) 或者 (x,y,z1)(x, y, z-1)。(注意他不能停留在方格 (x,y,z)(x, y, z) 上。)

找出恰好经过 NN 次传送以后到达方格 (X,Y,Z)(X, Y, Z) 的路线数量。

换句话说,找出满足以下三个条件的由 N+1N+1 个三元组整数组成的序列的数量:

  • (x0,y0,z0)=(0,0,0)(x_0, y_0, z_0) = (0, 0, 0)
  • (xN,yN,zN)=(X,Y,Z)(x_N, y_N, z_N) = (X, Y, Z)
  • 对于每一个 i=1,2,ldots,Ni = 1, 2, \\ldots, N,都有 xixi1+yiyi1+zizi1=1|x_i-x_{i-1}| + |y_i-y_{i-1}| + |z_i-z_{i-1}| = 1

由于答案可能非常大,输出答案对 998244353998244353 取模后的结果。

约束条件

  • 1leqNleq1071 \\leq N \\leq 10^7
  • \-107leqX,Y,Zleq107\-10^7 \\leq X, Y, Z \\leq 10^7
  • NN, XX, YY, 和 ZZ 都是整数。

输入

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

NN XX YY ZZ

输出

打印结果对 998244353998244353 取模后的数值。

示例输入 1

3 2 0 -1

示例输出 1

3

恰好经过 33 次传送以后到达方格 (2,0,1)(2, 0, -1) 的路线有三条:

  • $(0, 0, 0) \\rightarrow (1, 0, 0) \\rightarrow (2, 0, 0) \\rightarrow(2, 0, -1)$
  • $(0, 0, 0) \\rightarrow (1, 0, 0) \\rightarrow (1, 0, -1) \\rightarrow(2, 0, -1)$
  • $(0, 0, 0) \\rightarrow (0, 0, -1) \\rightarrow (1, 0, -1) \\rightarrow(2, 0, -1)$

示例输入 2

1 0 0 0

示例输出 2

0

注意必须恰好进行 NN 次传送,并且不允许停留在同一个位置。

示例输入 3

314 15 92 65

示例输出 3

106580952

请务必输出结果对 998244353998244353 取模后的数值。