#3842. 起飞咯~

起飞咯~

小米是一只蜜蜂,它会飞(废话)。

蜂巢是一个无限大的网格,我们可以用 XYZXYZ 坐标系来标记它。蜂巢的中心坐标是 (0,0,0)(0,0,0)

有一天,小米从 (0,0,0)(0,0,0) 开始飞,飞呀飞,飞了NN秒。

每一秒,小米可能从原来的坐标 (x,y,z)(x,y,z) 飞到如下六个位置去:

$(x+1,y,z),(x-1,y,z),(x,y+1,z),(x,y-1,z),(x,y,z+1),(x,y,z-1)$。

注意,坐标是可能有负数的。

现在只知道小米在第 NN 秒飞到了 (X,Y,Z)(X,Y,Z),不知道小米是怎么飞的。

请帮忙计算一下,小米有多少种可能的飞行路径。

输入格式

第一行输入 N,X,Y,ZN,X,Y,Z

输出格式

输出答案 mod998244353\mod 998244353

3 1 1 1
6

样例解释 #1

小米一共就三秒,这三秒必须每一秒都朝着正确的方向飞一步,一共3!=63!=6种方案。

3 2 0 -1
3
1 0 0 0
0
314 15 92 65
106580952

数据范围

对于 15%15\% 的数据:N50N\leq 50

对于 25%25\% 的数据:N100N\leq 100

对于 45%45\% 的数据:N500N\leq 500

对于 65%65\% 的数据:N10000N\leq 10000

对于 100%100\% 的数据:N107,X,Y,Z107N\leq 10^7,|X,Y,Z|\leq 10^7