AT_past202005_b ダイナミック・スコアリング
Description
[problemUrl]: https://atcoder.jp/contests/past202005-open/tasks/past202005_b
プログラミングコンテストが開催されます。 このコンテストの参加者は $ N $ 人で、コンテストには $ M $ 個の問題が出題されます。 参加者には $ 1,2,\ldots,N $ の番号が、問題には $ 1,2,\ldots,M $ の番号が振られています。
このコンテストにおいて、問題の得点はその問題を解いた人間の人数によって変化します。 具体的には、$ N\ -\ \text{(現時点でこの問題を解いた人数)} $ が得点となります。
参加者のスコアは解いた問題の得点の合計です。問題の得点が変化した場合、参加者のスコアも変化することに注意してください。 例えば、$ N=2,\ M=1 $ の場合において、はじめ問題 $ 1 $ の得点は $ 2 $ です。 その後、参加者 $ 1 $ が問題 $ 1 $ を解いたとき、問題 $ 1 $ の得点は $ 1 $、参加者 $ 1 $ のスコアは $ 1 $ となります。 さらにその後、参加者 $ 2 $ が問題 $ 1 $ を解いたとき、問題 $ 1 $ の得点は $ 0 $ となり、参加者 $ 1,2 $ のスコアは $ 0 $ となることに注意してください。
以下の形式で与えられる $ Q $ 個のクエリ $ s_1,\ s_2,\ \ldots,\ s_Q $ を順番に処理してください。
- 参加者 $ n $ の現在のスコアを出力せよ。 `1 n` という形式で与えられる。
- 参加者 $ n $ が問題 $ m $ を解いた。`2 n m` という形式で与えられる。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ Q $ $ s_1 $ $ \vdots $ $ s_Q $
Output Format
`1 n` という形式で与えられたクエリに対して、与えられた順に参加者 $ n $ のその時点でのスコアを出力せよ。
Explanation/Hint
### 注意
この問題に対する言及は、2020/6/6 18:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。 試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。
### 制約
- $ 1\ \leq\ N,\ Q\ \leq\ 10^5 $
- $ 1\ \leq\ M\ \leq\ 50 $
- $ s_i $ は下記のいずれかの形式の文字列
- `1 n` $ (1\ \leq\ n\ \leq\ N) $
- `2 n m` $ (1\ \leq\ n\ \leq\ N,\ 1\ \leq\ m\ \leq\ M) $
- どの参加者も同じ問題を複数回解くことはない
### Sample Explanation 1
\- はじめ、問題 $ 1 $ の得点は $ 2 $、参加者 $ 1,2 $ のスコアはどちらも $ 0 $ です。 - $ 1 $ 番目のクエリにおいて参加者 $ 1 $ が問題 $ 1 $ を解いたことにより、問題 $ 1 $ の得点は $ 1 $、参加者 $ 1,2 $ のスコアはそれぞれ $ 1,0 $ となります。 - $ 2 $ 番目のクエリにおいて参加者 $ 1 $ のスコアである $ 1 $ が出力されます。 - $ 3 $ 番目のクエリにおいて参加者 $ 2 $ のスコアである $ 0 $ が出力されます。 - $ 4 $ 番目のクエリにおいて参加者 $ 2 $ が問題 $ 1 $ を解いたことにより、問題 $ 1 $ の得点は $ 0 $、参加者 $ 1,2 $ のスコアはどちらも $ 0 $ となります。 - $ 5 $ 番目のクエリにおいて参加者 $ 1 $ のスコアである $ 0 $ が出力されます。 - $ 6 $ 番目のクエリにおいて参加者 $ 2 $ のスコアである $ 0 $ が出力されます。