AT_abc430_g [ABC430G] Range Set Modifying Query

Description

$ N $ 個の集合 $ S_1, \ldots,S_N $ があります。最初、全ての集合は空集合です。 以下の形式のクエリが $ Q $ 個与えられるので順に処理してください。 - タイプ $ 1 $ :`1 L R x` の形式で与えられる。 $ L \leq i \leq R $ を満たす各 $ S_i $ に対し、 $ x $ を追加する。 - タイプ $ 2 $ :`2 L R x` の形式で与えられる。 $ L \leq i \leq R $ を満たす各 $ S_i $ に対し、 $ x $ を削除する。 - タイプ $ 3 $ :`3 L R` の形式で与えられる。 $ L \leq i \leq R $ を満たす $ S_i $ のうちの、要素数の最大値と、それを達成する集合の個数を求める。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ \mathrm{query}_1 $ $ \vdots $ $ \mathrm{query}_Q $ ただし、 $ \mathrm{query}_i $ は $ i $ 番目のクエリを表し、それぞれ問題文中に示した以下の形式で与えられる。 > $ 1 $ $ L $ $ R $ $ x $ > $ 2 $ $ L $ $ R $ $ x $ > $ 3 $ $ L $ $ R $

Output Format

タイプ $ 3 $ のクエリの個数を $ q $ として $ q $ 行出力せよ。 $ i $ 行目には、 $ i $ 個目のタイプ $ 3 $ のクエリにおいて、要素数の最大値を $ x $ 、それを達成する集合の個数を $ y $ として、 $ x,y $ を空白区切りで出力せよ。

Explanation/Hint

### Sample Explanation 1 - 最初 $ (S_1,S_2,S_3,S_4)=(\lbrace\rbrace,\lbrace\rbrace,\lbrace\rbrace,\lbrace\rbrace) $ です。 - $ 1 $ 番目のクエリにより $ S_1,S_2 $ に $ 10 $ が追加され、 $ (S_1,S_2,S_3,S_4)=(\lbrace 10\rbrace,\lbrace 10\rbrace,\lbrace\rbrace,\lbrace\rbrace) $ となります。 - $ 2 $ 番目のクエリにより $ S_2,S_3,S_4 $ に $ 20 $ が追加され、 $ (S_1,S_2,S_3,S_4)=(\lbrace 10\rbrace,\lbrace 10,20\rbrace,\lbrace 20\rbrace,\lbrace 20\rbrace) $ となります。 - $ 3 $ 番目のクエリにおいて、 $ S_1,S_2,S_3 $ のうち要素数が最大となるのは $ S_2 $ の $ 2 $ 個であるため、`2 1` を出力します。 - $ 4 $ 番目のクエリにより $ S_1,S_2 $ から $ 20 $ が削除され、 $ (S_1,S_2,S_3,S_4)=(\lbrace 10\rbrace,\lbrace 10\rbrace,\lbrace 20\rbrace,\lbrace 20\rbrace) $ となります。 - $ 5 $ 番目のクエリにより $ S_2,S_3 $ に $ 10 $ が追加され、 $ (S_1,S_2,S_3,S_4)=(\lbrace 10\rbrace,\lbrace 10\rbrace,\lbrace 10,20\rbrace,\lbrace 20\rbrace) $ となります。 - $ 6 $ 番目のクエリにおいて、 $ S_1,S_2 $ のうち要素数が最大となるのは $ S_1,S_2 $ の $ 1 $ 個であるため、`1 2` を出力します。 - $ 7 $ 番目のクエリにおいて、 $ S_1,S_2,S_3,S_4 $ のうち要素数が最大となるのは $ S_3 $ の $ 2 $ 個であるため、`2 1` を出力します。 ### Constraints - $ 1\leq N \leq 3\times 10^5 $ - $ 1\leq Q \leq 3\times 10^5 $ - 各クエリにおいて、 $ 1 \leq L \leq R \leq N $ - タイプ $ 1,2 $ のクエリにおいて、 $ 1 \leq x \leq 60 $ - 入力は全て整数