转化
题号:NC299796
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小美有一个长度为 n,仅由大小写英文字母组成的字符串 s。小美将对字符串执行以下 m 次操作:
\hspace{23pt}\bullet\,当操作类型 op=1 且给定两个小写字母 letter1,letter2(满足 letter1\leqq letter2)时,将字符串中所有位于字母表中 \texttt{[letter1,letter2]} 的小写字母转换为对应的大写字母;
\hspace{23pt}\bullet\,当操作类型 op=2 且给定两个大写字母 letter1,letter2(满足 letter1\leqq letter2)时,将字符串中所有位于字母表中 \texttt{[letter1,letter2]} 的大写字母转换为对应的小写字母。

输入描述:

\hspace{15pt}在一行上输入两个整数 n,m\ \left(1\leqq n,m\leqq 2\times10^5\right),分别表示字符串长度和操作次数; 
\hspace{15pt}在一行上输入一个长度为 n,仅由大小写英文字母组成的字符串 s
\hspace{15pt}接下来 m 行,每行输入三个元素:整数 op 和两个字符 letter1,letter2,满足:
\hspace{23pt}\bullet\,op=1,则 letter1,letter2 为小写字母,且 letter1\leqq letter2
\hspace{23pt}\bullet\,op=2,则 letter1,letter2 为大写字母,且 letter1\leqq letter2

输出描述:

\hspace{15pt}输出执行完所有操作后得到的最终字符串。
示例1

输入

复制
3 1
abc
1 a c

输出

复制
ABC

说明

\hspace{15pt}在此样例中,初始字符串 \texttt{,将区间 \texttt{[a,c]} 的小写字母统一转换成大写,得到 \texttt{
示例2

输入

复制
6 2
aAbBcC
1 a b
2 B C

输出

复制
AAbbcc

说明

\hspace{15pt}在此样例中, 
\hspace{23pt}\bullet\,第一次操作将字符串中所有满足字母表区间\texttt{[a,b]}所有小写字母的变为大写字母,得到 \texttt{
\hspace{23pt}\bullet\,第二次操作将字符串中所有满足字母表区间\texttt{[B,C]}所有大写字母的变为小写字母,最终得到 \texttt{