第一行三个数 $n, m, q$ 分别表示图的点数,边数以及操作总数。
接下来一行,共 $n$ 个数,第 $i$ 个数表示 $b_i$ ,也就是第 $i$ 个点的点权。
接下来 $m$ 行,每行三个数 $x, y, z$ ,表示 $x, y$ 之间有一条边权为 $z$ 的边。
接下来 $q$ 行,每行三个数 $type, u, v$ 表示操作的类型
当 $type =1$ 时,表示将点 $u$ 的点权改为 $v$。
当 $type=2$ 时,表示将读入的第 $u$ 条边边权改为 $v$。
当 $type=3$ 时,表示询问当前的图映射到的序列的区间 $[u, v]$ 中所有数的和 $\bmod\ 998244353$ 后的值,保证 $u \leq v$ 。
数据范围:
$1 \le n,m,q \le 131071,0 \le b_i \le 131071$ ,$1 \le x, y \le n$,$0 \le z < 10^9$,给定的图是简单图。
对于 $type=1$ ,$1 \le u \le n, 0 \le v \le 131071$。
对于 $type=2$ ,$1 \le u \le m, 0 \le v < 10^9$。
对于 $type=3$ ,$0 \le u \le v \le 131071$。
至少有一个 $type=3$ 的操作。