#arc111f. [arc111_f]Do you like query problems?

[arc111_f]Do you like query problems?

問題文

yosupoくんはクエリの問題が大好きなので、次のような問題を作りました。


A Query Problem

長さ NN の整数列 a1,ldots,aNa_1,\\ldots,a_N があります。はじめは ai=0(1leqileqN)a_i = 0 (1 \\leq i \\leq N) です。 また、ansans という変数があり、はじめは ans=0ans = 0 です。 ここに、次の形式のクエリが QQ 個来ます。

  • クエリ1:

    • ti(=1)t_i (=1) lil_i rir_i viv_i

    • j=li,ldots,rij = l_i,\\ldots,r_i に対して、aj:=min(aj,vi)a_j := \\min(a_j,v_i)

  • クエリ2:

    • ti(=2)t_i (=2) lil_i rir_i viv_i

    • j=li,ldots,rij = l_i,\\ldots,r_i に対して、aj:=max(aj,vi)a_j := \\max(a_j,v_i)

  • クエリ3:

    • ti(=3)t_i (=3) lil_i rir_i

    • ali+ldots+aria_{l_i} + \\ldots + a_{r_i} を計算して、ansans に足す

最終的な ansans の値を出力してください。

ただし、各クエリについて、11 leq\\leq lil_i leq\\leq rir_i leq\\leq NN が、さらにクエリ1,2については 00 leq\\leq viv_i leq\\leq M1M-1 が成立する。


この問題を見たmaroonくんは簡単すぎると感じたため、次の問題を考えました。


Query Problems

正整数 N,M,QN,M,Q が与えられます。問題 "A Query Problem" に対する入力は (frac(N+1)N2cdot(M+M+1))Q( \\frac{(N+1)N}{2} \\cdot (M+M+1) )^Q 通りありますが、それらに対する出力のすべての和を 998,244,353998{,}244{,}353 で割った余りを求めてください。


求めてください。

制約

  • 1leqN,M,Qleq2000001 \\leq N,M,Q \\leq 200000
  • 入力される数はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN MM QQ

出力

答えを出力せよ。


入力例 1

1 2 2

出力例 1

ありうる入力は 2525 通りありますが、そのうち ansans が正になるような入力は、次の一通りです:

t1=2,l1=1,r1=1,v1=1,t2=3,l2=1,r2=1t_1 = 2, l_1 = 1, r_1 = 1, v_1 = 1, t_2 = 3, l_2 = 1, r_2 = 1

このとき ansans11 になるので、答えは 11 です。


入力例 2

3 1 4

出力例 2


入力例 3

111 112 113

出力例 3

451848306