#NC2506G. 转身

转身

题目描述

在一条数轴上有 n n 个人,每个人面朝左('L')或右('R')。给定一个长度为 n n 的字符串 S S ,其中每个字符是 'L' 或 'R',表示每个人的初始方向。在每个时刻,当两个相邻的人面对面时(即,左边的人面朝右,右边的人面朝左),他们会同时转身:如果一个人面朝左,他会转向右;反之亦然。

你的任务是确定在没有人再改变方向之后所需的时间。

此外,还有 q q 次修改。每次修改给出一个索引 x x ,意味着第 x x 个人的初始方向被翻转(从 'L' 变为 'R' 或反之)。在每次修改后,输出上述问题的答案。

输入格式

第一行包含两个整数 n n 1n2105 1 \leq n \leq 2 \cdot 10^5 )和 q q 1q2105 1 \leq q \leq 2 \cdot 10^5 )。

第二行包含一个长度为 n n 的字符串 S S ,表示每个人的初始方向。

接下来的 q q 行包含一个整数 x x 1xn 1 \leq x \leq n )。

输出格式

输出 q q 行。每行包含一个整数,表示答案。

5 5
LRLRL
5
1
3
4
3
1
2
0
3
3
5 5
RLLLL
1
2
3
4
5
0
3
3
3
0