编程题
### 问题描述
苏苏最近在加强数学方面的知识,用于冲击不久之后的网络赛,给学弟学妹们争取比赛名额。在学习过程中,苏苏在遇到一道数学题的时候发现自己对数学公式的推导不是很熟练,公式推导了许多次,每次都是错误的,所以想请你来帮他解决这个问题。
定义 $f(x) = (a+x)(b+x)(c-x)$,$Sum(n)= \sum _{i=1} ^{n} f(i)$。
求给定一个正整数 $n$,对应的 $Sum(n)$ 的值为多少(答案对 $998244353$ 取模)?
### 输入格式
第一行输入一个正整数 $T$,表示测试数据的组数。
接下来 $T$ 行,每行四个正整数 $n,a,b,c$,$n$ 表示 $f(x)$ 的前缀和的上限,$a,b,c$ 分别对应上述问题中 $f(x)$ 的 $a,b,c$。
### 输出格式
输出共 $T$ 行,每行一个正整数 $ans$,表示上述问题的答案(答案对 $998244353$ 取模)。
### 样例输入
```text
3
1 1 1 2
2 1 1 2
3 1 1 2
```
### 样例输出
```text
4
4
998244341
```
### 评测数据规模
对于所有的评测数据,$1 \leq T \leq 10^6$,$1 \leq n \leq 10^9$,$1 \leq a,b,c \leq 10^6$。