研究red子序列的红
题号:NC281740
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红有两个长度为 n 的字符串 s,t ,仅包含小写字母,下标从 1 开始。
\hspace{15pt}她每次会进行一个操作,把 s_it_i 交换,你需要回答每一次交换后字符串 s 中的 \texttt{ 子序列和 t \texttt{ 子序列之差。
\hspace{15pt}每次询问不独立。

\hspace{15pt}子序列是指在一个序列中,通过删除某些元素(可以是零个或多个元素),而不改变其余元素的相对顺序所得到的序列。

输入描述:

\hspace{15pt}第一行两个整数 n,q \ (1\leqq n,q\leqq 2\times 10^5) 代表字符串长度和操作次数。
\hspace{15pt}第二行一个长度为 n 的字符串 s 。
\hspace{15pt}第三行一个长度为 n 的字符串 t 。
\hspace{15pt}此后 q 行,每行一个整数 x\ (1\leqq x\leqq n),表示每次交换的位置。

输出描述:

\hspace{15pt}对于每一次询问,在一行上输出一个整数,表示交换后字符串 s 中的 \texttt{ 子序列和 t 中 \texttt{ 的子序列之差。
示例1

输入

复制
5 2
redar
adade
5
4

输出

复制
1
2