#arc047d. [arc047_d]ナナメクエリ

[arc047_d]ナナメクエリ

問題文

縦に NN 行、横に NN 列の方眼紙があります。

この方眼紙上の最も左上のマスから下に XX マス、右に YY マス進んだところにあるマスをマス (X,Y)(X, Y) と呼ぶことにします。 つまり、最も左上のマスはマス (0,0)(0, 0) 、右下のマスはマス (N1,N1)(N-1, N-1) になります。

初め、全てのマスには整数 00 が書き込まれています。

この方眼紙に QQ 回のクエリ操作を行うことを考えます。 クエリ操作は 33 種類あり以下のとおりです。

  • 1 A B C : AX+YBA ≦ X+Y ≦ B となる全てのマス (X,Y)(X, Y) にかかれている整数に CC を加える。0AB2N2,105C1050 ≦ A ≦ B ≦ 2N-2, -10^5 ≦ C ≦ 10^5 を満たすことが保証される。
  • 2 A B C : AXYBA ≦ X-Y ≦ B となる全てのマス (X,Y)(X, Y) にかかれている整数に CC を加える。1NABN1,105C1051-N ≦ A ≦ B ≦ N-1, -10^5 ≦ C ≦ 10^5 を満たすことが保証される。
  • 3 A B C D : AXBA ≦ X ≦ B かつ CYDC ≦ Y ≦ D となる全てのマス (X,Y)(X,Y) の中の最大値 MM と、その範囲の中に MM が書かれたマスがいくつあるか求める。0ABN1,0CDN10 ≦ A ≦ B ≦ N-1, 0 ≦ C ≦ D ≦ N-1 を満たすことが保証される。

このようなクエリを順番に処理するプログラムを書いてください。


入力

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

NN QQ Query1Query_1 Query2Query_2 : QueryQQuery_Q

  • 11 行目には方眼紙の大きさを表す整数 N(1N5,000)N(1 ≦ N ≦ 5,000) とクエリの個数を表す整数 Q(1Q5,000)Q(1 ≦ Q ≦ 5,000)が空白区切りで与えられる。
  • 22 行目からの QQ 行の内 ii 行目には ii 番目のクエリが与えられる。クエリの形式は問題文中で与えたとおりである。
  • 33 種類目のクエリは 11 個以上与えられる。

部分点

この問題には部分点が設定されている。

  • 1N501 ≦ N ≦ 50を満たすデータセットに正解した場合は 1010 点が与えられる。
  • 1N5001 ≦ N ≦ 500を満たすデータセットに正解した場合はさらに 2020 点が与えられる。合計で3030点となる。
  • 1N5,0001 ≦ N ≦ 5,000 を満たすデータセットに正解した場合はさらに 7070 点が与えられる。合計で100100点となる。

出力

出力の行数は 33 種類目のクエリの個数と等しくなる。 ii 行目には ii 番目の 33 種類目のクエリの答えを出力せよ。 範囲の中の最大値を MM、その個数を CC とすると M,CM, C をこの順で空白区切りで出力せよ。 出力の末尾に改行を入れること。


入力例1の説明にミスがあったため、正しいものに差し替えました(21:51)

入力例1


4 4
1 1 4 2
3 0 1 2 3
2 -2 1 3
3 0 3 1 3

出力例1


2 4
5 7

11 番目のクエリを処理した後の方眼紙の様子は以下の様になります。

22 番目のクエリの範囲は以下の様な範囲です。

よって最大値は 22、 個数は 44 個になります。

33 番目のクエリを処理した後の方眼紙の様子は以下の様になります。

44 番目のクエリの範囲は以下の様な範囲です。

よって最大値は 55、 個数は 77 個になります。


入力例2


50 20
2 5 40 6
1 69 94 5
3 8 39 31 32
2 -29 -21 -10
2 20 43 3
2 -37 36 -10
2 -18 45 5
2 30 39 -2
3 0 1 19 33
3 27 47 0 43
3 0 1 28 39
1 90 97 0
2 -46 31 7
1 81 81 4
1 11 54 3
3 10 29 26 30
1 39 45 3
1 70 97 -4
3 24 46 14 34
3 1 18 48 48

出力例2


11 5
-5 1
14 8
0 3
5 82
16 2
10 5