AT_abc314_d [ABC314D] LOWER

题目描述

给定一个由英文字母大写和小写字母组成的长度为 $N$ 的字符串 $S$。 接下来,将对字符串 $S$ 进行 $Q$ 次操作。第 $i$ 次操作($1 \le i \le Q$)由两个整数和一个字符组成的三元组 $(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$。

输入格式

输入以以下格式从标准输入中提供。 > $ N $ > $ S $ > $ Q $ > $t _ 1$ $x _ 1$ $c _ 1$ > $t _ 2$ $x _ 2$ $c _ 2$ > $\vdots$ > $t _ Q$ $x _ Q$ $c _ Q$

输出格式

在 $1$ 行中输出答案。 ### 限制条件 - $1 \leq N \leq 5 \times 10 ^ 5$ - $S$ 是由大写字母和小写字母组成的长度为 $N$ 的字符串 - $1 \leq Q \leq 5 \times 10 ^ 5$ - $1 \leq t _ i \leq 3 \ (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$ 均为整数 ### 样例解释 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`。 --- Translated by User 735713.

说明/提示

### 制約 - $ 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` と出力してください。