AT_abc411_d [ABC411D] Conflict 2

Description

$ 1 $ 台のサーバーと $ N $ 台の PC があります。 サーバーおよび各 PC はそれぞれ $ 1 $ つずつ文字列を保持しており、最初は全て空文字列です。 $ Q $ 個のクエリが与えられます。各クエリは以下のいずれかの形式です。 - `1 p`:PC $ p $ の文字列をサーバーの文字列で置き換える。 - `2 p s`:PC $ p $ の文字列の末尾に文字列 $ s $ を追加する。 - `3 p`:サーバーの文字列をPC $ p $ の文字列で置き換える。 全てのクエリを与えられた順に処理したときの最終的なサーバーの文字列を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ \mathrm{query}_1 $ $ \mathrm{query}_2 $ $ \vdots $ $ \mathrm{query}_Q $ ここで $ \mathrm{query}_i $ は $ i $ 番目のクエリを表し、以下のいずれかの形式で与えられる。 ``` 1 p ``` ``` 2 p s ``` ``` 3 p ```

Output Format

答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 - 最初、サーバーおよび PC $ 1,2 $ の文字列は全て空である。 - $ 1 $ 番目のクエリ: PC $ 1 $ の文字列の末尾に `at` を追加する。このとき、サーバー、PC $ 1,2 $ の文字列はそれぞれ空、`at`、空である。 - $ 2 $ 番目のクエリ: サーバーの文字列を PC $ 1 $ の文字列で置き換える。このとき、サーバー、PC $ 1,2 $ の文字列はそれぞれ `at`、`at`、空である。 - $ 3 $ 番目のクエリ: PC $ 2 $ の文字列の末尾に `on` を追加する。このとき、サーバー、PC $ 1,2 $ の文字列はそれぞれ `at`、`at`、`on` である。 - $ 4 $ 番目のクエリ: PC $ 2 $ の文字列をサーバーの文字列で置き換える。このとき、サーバー、PC $ 1,2 $ の文字列はそれぞれ `at`、`at`、`at` である。 - $ 5 $ 番目のクエリ: PC $ 2 $ の文字列の末尾に `coder` を追加する。このとき、サーバー、PC $ 1,2 $ の文字列はそれぞれ `at`、`at`、`atcoder` である。 - $ 6 $ 番目のクエリ: サーバーの文字列を PC $ 2 $ の文字列で置き換える。このとき、サーバー、PC $ 1,2 $ の文字列はそれぞれ `atcoder`、`at`、`atcoder` である。 よって、最終的なサーバーの文字列は `atcoder` です。 ### Sample Explanation 2 最終的なサーバーの文字列は空です。 ### Constraints - $ N,Q $ は整数 - $ 1\leq N,Q \leq 2\times 10^5 $ - 全てのクエリについて、 $ p $ は整数であり、 $ 1 \leq p\leq N $ - 全ての $ 2 $ 種類目のクエリについて、 $ s $ は英小文字からなる長さ $ 1 $ 以上の文字列 - 全ての $ 2 $ 種類目のクエリに対する $ s $ の長さの総和は $ 10^6 $ 以下