AT_abc314_d [ABC314D] LOWER

Description

[problemUrl]: https://atcoder.jp/contests/abc314/tasks/abc314_d 英大文字および英小文字からなる長さ $ N $ の文字列 $ S $ が与えられます。 これから、文字列 $ S $ に対して $ Q $ 回の操作を行います。 $ i $ 番目 $ (1\leq\ i\leq\ Q) $ の操作は整数 $ 2 $ つと文字 $ 1 $ つからなる組 $ (t\ _\ i,x\ _\ i,c\ _\ i) $ で表され、それぞれ次のような操作を表します。 - $ t\ _\ i=1 $ のとき、$ S $ の $ x\ _\ i $ 文字目を $ c\ _\ i $ に変更する。 - $ t\ _\ i=2 $ のとき、$ S $ に含まれる大文字すべてをそれぞれ小文字に変更する($ x\ _\ i,c\ _\ i $ は操作に使用しない)。 - $ t\ _\ i=3 $ のとき、$ S $ に含まれる小文字すべてをそれぞれ大文字に変更する($ x\ _\ i,c\ _\ i $ は操作に使用しない)。 $ Q $ 回の操作がすべて終わったあとの $ S $ を出力してください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ S $ $ Q $ $ t\ _\ 1 $ $ x\ _\ 1 $ $ c\ _\ 1 $ $ t\ _\ 2 $ $ x\ _\ 2 $ $ c\ _\ 2 $ $ \vdots $ $ t\ _\ Q $ $ x\ _\ Q $ $ c\ _\ Q $

Output Format

答えを $ 1 $ 行で出力せよ。

Explanation/Hint

### 制約 - $ 1\leq\ N\leq5\times10^5 $ - $ S $ は英大文字および英小文字からなる長さ $ N $ の文字列 - $ 1\leq\ Q\leq5\times10^5 $ - $ 1\leq\ t\ _\ i\leq3\ (1\leq\ i\leq\ Q) $ - $ t\ _\ i=1 $ ならば $ 1\leq\ x\ _\ i\leq\ N\ (1\leq\ i\leq\ Q) $ - $ c\ _\ i $ は英大文字もしくは英小文字 - $ t\ _\ i\neq\ 1 $ ならば $ x\ _\ i=0 $ かつ $ c\ _\ i= $ `'a'` - $ N,Q,t\ _\ i,x\ _\ i $ はすべて整数 ### Sample Explanation 1 はじめ、文字列 $ S $ は `AtCoder` です。 - $ 1 $ 番目の操作では、$ 4 $ 文字目を `i` に変更します。変更後の $ S $ は `AtCider` です。 - $ 2 $ 番目の操作では、すべての小文字を大文字に変更します。変更後の $ S $ は `ATCIDER` です。 - $ 3 $ 番目の操作では、$ 5 $ 文字目を `b` に変更します。変更後の $ S $ は `ATCIbER` です。 - $ 4 $ 番目の操作では、すべての大文字を小文字に変更します。変更後の $ S $ は `atciber` です。 - $ 5 $ 番目の操作では、$ 4 $ 文字目を `Y` に変更します。変更後の $ S $ は `atcYber` です。 すべての操作が終わったあとの $ S $ は `atcYber` なので、`atcYber` と出力してください。