AT_abc477_d [ABC477D] Masking Tape

Description

$ N $ 個のマスが横一列に並んでおり、左から順にマス $ 1 $ からマス $ N $ までの番号がついています。色は英小文字で表されます。 はじめ、すべてのマスの色は `a` で、各マスには何も置かれていません。 $ Q $ 個のクエリが与えられるので、与えられた順に処理してください。各クエリは以下の $ 2 $ 種類のいずれかです。 - `1 X` : マス $ X $ にタイルが置かれていなければタイルを置き、置かれていれば取り除く。 - `2 C` : タイルが置かれていないすべてのマスの色を $ C $ に変更する。 すべてのクエリを処理した後の各マスの色を(タイルが置かれているかどうかにかかわらず)求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ \mathrm{query}_1 $ $ \vdots $ $ \mathrm{query}_Q $ 各クエリ $ \mathrm{query}_i ~ (1 \le i \le Q) $ は > $ 1 $ $ X $ または、 > $ 2 $ $ C $ の形で与えられる。

Output Format

最終的な各マスの色を、左から順につなげた長さ $ N $ の文字列として出力せよ。

Explanation/Hint

### Sample Explanation 1 タイルの状態について、置かれているならば `#`、 そうでないならば `.` として左から順につなげた文字列で表現をすることにします。 クエリによって、以下のようにマスの色・タイルの状態が変化します。はじめの状態は `aaa` と `...` です。 - $ 1 $ つ目のクエリを処理すると、マス $ 2 $ にタイルが置かれる。状態は `aaa` と `.#.` となる。 - $ 2 $ つ目のクエリを処理すると、タイルの置かれていないマスの色が `b` に変更される。状態は `bab` と `.#.` となる。 - $ 3 $ つ目のクエリを処理すると、マス $ 1 $ にタイルが置かれる。状態は `bab` と `##.` となる。 - $ 4 $ つ目のクエリを処理すると、マス $ 2 $ のタイルが取り除かれる。状態は `bab` と `#..` となる。 - $ 5 $ つ目のクエリを処理すると、タイルの置かれていないマスの色が `c` に変更される。状態は `bcc` と `#..` となる。 よって `bcc` と出力してください。マス $ 1 $ にはタイルが置かれたままですが、その場合であってもマスの色を出力します。 ### Constraints - $ 1 \le N,Q \le 3\times 10^5 $ - 各クエリはタイプ $ 1 $ またはタイプ $ 2 $ のいずれか - タイプ $ 1 $ のクエリにおいて、 $ X $ は $ 1 \le X \le N $ を満たす整数 - タイプ $ 2 $ のクエリにおいて、 $ C $ は英小文字 $ 1 $ 文字