U673058 Day and Night
题目背景

希腊神话中,白昼与黑夜的交替,是太阳神赫利俄斯每日必须完成的伟大旅程。每天清晨,他驾驭着燃烧烈焰的太阳金车,从东方升起,驱散黑暗,为人间带来光明与白昼;当傍晚的暮色降临,他完成横跨天空的使命,在西边缓缓沉入环绕大地的俄刻阿诺斯大洋,随后乘一艘金船悄然返回东方。在他离去后,夜幕笼罩世界,这便是昼夜循环的故事。
但是,太阳神赫利俄斯英俊但鲁莽的儿子法厄同曾强驾太阳金车,因无法控制神马而偏离轨道,致使天空忽明忽暗,他需要你的帮助!
题目描述
序列由 `D`(白昼)和 `N`(黑夜)组成,如果某段序列总是`D` 和 `N` 交替出现,也就是说,如果其中两个连续字符总是不同,我们称这段序列是**秩序**的;
法厄同会告诉你他排列的序列——一个长度为 $n$ 的字符串 $S$ ,由 `D` 和 `N` 组成;
法厄同将给出 $q$ 个请求,你必须按顺序处理;
请求有两种类型,`spell`和`ask`,序列下标(从1开始) $L$ 和 $R$ :
- 反转咒术`spell`:法厄同释放反转咒术,反转 $S$ 的每个 $L$ 到 $R$ 的字符。也就是说,对于每个满足 $L\leq i\leq R$ 的整数 $i$ ,如果 $S$ 的第 $i$ 个字符是 "D",则将其改为 "N",反之亦然,你不需要做任何事,无需输出任何。
- 查询请求`ask`:设 $S'$ 是通过提取 $S$ 的 第 $L$ 个字符到第 $R$ 个字符得到的长度为 $(R-L+1)$ 的子序列,法厄同希望你告诉他 $S'$ 是否是秩序的。
如果 $S'$ 是**秩序**的,则输出 "Yes",否则输出 "No"。
输入格式
输入内容格式如下
```
n Q
S
query 1
query 2
.
.
.
query Q
```
每个请求 $query$ $i$ $(1\leq i\leq q)$ 的形式:
```
spell L R
```
或
```
ask L R
```
输出格式
设 $K$ 为 $ask$ 类型的请求次数。打印 $K$ 行。
第 $i$ 行应该包含对 $ask$ 类型的第 $i$ 次请求的输出。
注意:$spell$ 类型的请求无需输出。
说明/提示
- $1\leq n, q\leq 5\times 10^5$
- $S$ 是长度为 $n$ 的字符串序列,由 `D` 和 `N` 组成。
- $1\leq L\leq R\leq n$ ,是用于 $spell$ 和 $ask$ 类型的查询范围。
- 至少有一个查询类型为 $ask$ 。
- $n$ 、 $q$ 、 $L$ 和 $R$ 是整数。