問題

長さNNの数列AAが与えられます。AAkk番目の要素はAkA_kです。

QQ個のクエリを与えられた順に処理してください。

  • 1 L R: i=LRj=LiAj\displaystyle \sum_{i = L}^R\sum_{j = L}^i A_jを計算し998244353998244353で割った余りを出力してください
  • 2 k X: AkA_kXXを代入する

制約

  • 1N1051 \leqq N \leqq 10^5
  • 1Ai,X1091 \leqq A_i, X \leqq 10^9
  • 1Q1051 \leqq Q \leqq 10^5
  • 1kN1 \leqq k \leqq N
  • 1LRN1 \leqq L \leqq R \leqq N
  • 入力はすべて整数

入力

NN
A1  A2    ANA_1 \; A_2 \; \ldots \;A_N
QQ
Query1\text{Query}_1
\vdots
QueryQ\text{Query}_Q

クエリは以下の形式のどちらかで与えられる。

1  L  R1 \; L \; R

2  k  X2 \; k \; X

出力

各タイプ1のクエリに対して答えを1行で出力してください。

入力例1

6
2 1 8 10 7 6
3
1 1 3
2 2 9
1 1 6

出力例1

16
139

入力例2

7
8 4 6 4 6 6 7
7
1 3 6
1 6 6
2 7 4
1 3 4
2 1 7
1 1 6
1 2 3

出力例2

54
6
16
116
14

提出


Go (1.21)