AT_abc419_d [ABC419D] Substr Swap
Description
長さ $ N $ の英小文字列 $ S, T $ および $ M $ 個の整数の組 $ (L_1,R_1),(L_2,R_2),\ldots,(L_M,R_M) $ が与えられます。
$ i=1,2,\ldots,M $ の順に以下の操作を行います。
- $ S $ の $ L_i $ 文字目から $ R_i $ 文字目と、 $ T $ の $ L_i $ 文字目から $ R_i $ 文字目を入れ替える。
- 例えば、 $ S $ が `abcdef`、 $ T $ が `ghijkl`、 $ (L_i,R_i)=(3,5) $ のとき、操作後の $ S,T $ はそれぞれ `abijkf`、`ghcdel` となる。
$ M $ 回の操作を行った後の $ S $ を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ S $ $ T $ $ L_1 $ $ R_1 $ $ L_2 $ $ R_2 $ $ \vdots $ $ L_M $ $ R_M $
Output Format
$ M $ 回の操作を行った後の $ S $ を出力せよ。
Explanation/Hint
### Sample Explanation 1
はじめ $ S,T $ はそれぞれ `apple`, `lemon` です。
- $ i=1 $ の操作後の $ S,T $ はそれぞれ `aemoe`, `lppln` です。
- $ i=2 $ の操作後の $ S,T $ はそれぞれ `lppln`, `aemoe` です。
- $ i=3 $ の操作後の $ S,T $ はそれぞれ `lpple`, `aemon` です。
よって、 $ 3 $ 回の操作を行った後の $ S $ は `lpple` です。
### Constraints
- $ 1\leq N\leq 5\times 10^5 $
- $ 1\leq M\leq 2\times 10^5 $
- $ S,T $ は長さ $ N $ の英小文字列
- $ 1\leq L_i\leq R_i\leq N $
- $ N,M,L_i,R_i $ は整数