在一条街道上分布着 $N$ 盏灯,它们的位置分别为 $X_i$,每盏灯的功率为 $P_i$。当第 $i$ 盏灯被打开时,它会照亮区间 $[X_i - P_i, X_i + P_i]$ 内的区域。初始时,有些灯是打开的,有些灯是关闭的。第 $i$ 盏灯的初始状态用 $T_i$ 表示:如果 $T_i = 1$,则该灯初始为打开状态;如果 $T_i = 0$,则该灯初始为关闭状态。灯的位置已按升序排序,即对于所有 $1 \le i < N$,满足 $X_i < X_{i+1}$。
对于每盏灯 $i$($1 \le i < N$),你需要确定一个值 $F(i)$,表示为了实现以下目标,你必须行走的最短总距离:
- 所有在位置 $X_i$ 之前的灯都被视为已被摧毁且不存在。
- 如果第 $i$ 盏灯初始时是关闭的,则将其打开。
- 你从位置 $X_i$ 出发,想要步行到位置 $X_N$。在途中,你必须关闭除位置 $X_N$ 处的灯以外的所有灯。
如果你无法在确保除第 $N$ 盏灯外所有灯都被关闭的情况下到达位置 $X_N$,则 $F(i) = 0$。
你的任务是计算所有 $i$($1 \le i < N$)的 $F(i)$ 之和,模 $998244353$ 的结果。
注意:你只能在被灯光照亮的区域内行走。
输入格式
第一行包含一个整数 $T$($1 \le T \le 10^3$),表示测试用例的数量。
接下来,对于每个测试用例:
- 第一行包含一个整数 $N$($1 \le N \le 10^6$)。
- 接下来 $N$ 行,每行包含三个由空格隔开的整数 $X_i$,$P_i$ 和 $T_i$($1 \le X_i \le 10^{12}$,$1 \le P_i \le 10^{12}$,$T_i \in \{0, 1\}$)。
- 保证对于所有 $1 \le i < N$,满足 $X_i < X_{i+1}$。
所有测试用例中 $N$ 的总和不超过 $10^6$。
输出格式
对于每个测试用例,输出一行,包含一个整数,即答案。
样例
输入样例 1
2 3 3 1 0 5 2 0 6 2 1 3 1 8 1 4 7 1 6 1 0
输出样例 1
8 0
说明
在第一个样例中:
图 1. 灯的初始状态。
现在让我们看看当你从第一盏灯出发时会发生什么。
图 2. 起点处的灯被打开。
图 3. 移动到第二盏灯并将其打开。
图 4. 返回第一盏灯并将其关闭。
图 5. 前往第三盏灯并关闭第二盏灯。