Range Multiplication Sum

2 secs 1024 MB
bayashiko

問題文


長さ の整数列 が与えられます。 個のクエリを順に処理してください。
番目のクエリでは、まず整数 が与えられます。ここで、 のどちらかです。
次に、 の値に応じてクエリの内容を表す入力が与えられるので、以下のように処理してください。

  • のとき
    整数 が与えられるので、 に変更してください。
  • のとき
    整数 が与えられるので、 で割った余りを出力してください。

  

制約


  • または
  • 入力は全て整数   

入力


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





:

行目から 行目の は以下のいずれかです。

  

出力


の各クエリについて、改行区切りで答えを出力してください。

  

入力例1


6 4
4 1 8 2 6 9
2 2 4
2 4 6
1 6 0
2 4 6

出力例1


26
84
12

番目のクエリは を出力せよというものです。 なので、 と出力します。

番目のクエリは を出力せよというものです。 なので、 と出力します。

番目のクエリは に変更せよというものです。 となります。

番目のクエリは を出力せよというものです。 なので、 と出力します。

入力例2


2 1
998244352 998244352
2 1 2

出力例2


1

ですが、 で割った余りを出力する必要があることに注意してください。

提出


Go (1.14)