#2325. 徐老师的博弈游戏

徐老师的博弈游戏

题目描述

徐老师和石老师在玩一个博弈游戏:《回文字符串博弈》

游戏内容是这样的,游戏会给定一个初始字符串 SS(仅由小写字母组成)

游戏双方每轮必须选择在字符串的开头或者结尾删除一个字符,然后交给另一个人进行下一轮游戏

在任意时刻如果某个玩家手里的字符串成为了回文串,则他就会失败

模式化的来说,每轮游戏的步骤依次如下:

  1. 判定当前玩家手里的字符串是否为回文字符串,若是,则当前玩家失败,游戏结束
  2. 当前玩家选择在字符串开头或者结尾删除一个字符,形式化的来说,如果字符串长度为 lenlen,则当前玩家需要选择删除 S[1]S[1] 或者 S[len]S[len]
  3. 判定当前玩家手里的字符串是否为回文字符串,若是,则当前玩家失败,游戏结束
  4. 本轮结束,由对手进行下一轮游戏

现在徐老师和石老师正在玩这个游戏,并且由徐老师进行第一轮游戏

假设他们两个足够聪明,在给定字符串 SS 的情况下请问谁会获胜?

P.S. 由于答案只有二选一,为了防止随机通过题目,每组数据包含多次询问,每次询问会给定一个区间 [l,r][l,r],表示询问的是 S[lr]S[l \sim r] 这段字符串进行上述游戏的获胜者是谁

输入格式

输入第一行,包含一个整数 lenlen 表示字符串长度

输入第二行,包含一个长度为 lenlen 的字符串 SS

输入第三行,包含一个整数 QQ 表示询问次数

接下来 QQ 行,每行包含两个整数 l,rl,r 表示一次询问

输出格式

输出共 QQ 行,对于每次询问输出获胜者,徐老师获胜则输出 Mr.Xu,石老师获胜则输出 Mr.Shi

数据范围

对于编号 131 \sim 3 的测试数据保证 len,Q20len,Q \leq 20

对于编号 4104 \sim 10 的测试数据保证 1len,Q1061 \leq len,Q \leq 10^6

对于所有数据保证 1lrn1 \leq l \leq r \leq n,且 SS 仅由小写字母组成

特别的,保证编号为 44 的测试数据中 SS 为回文串

样例输入

7
rbnbnbr
3
1 3
3 5
1 6

样例输出

Mr.Xu
Mr.Shi
Mr.Shi

样例解释

对于第一次询问,询问 rbnrbn 的结果,以下为一种方案

  1. 徐老师删除 rr,变为 bnbn
  2. 石老师删除 bb,变为 nn,此时判定石老师失败 可以发现不存在方案使得石老师获胜

对于第二次询问,询问 nbnnbn 的结果 徐老师拿到 nbnnbn,判定徐老师失败,此时石老师直接获胜

对于第三次询问,询问 rbnbnbrbnbnb 的结果,以下为一种方案

  1. 徐老师删除 rr 就会失败,所以徐老师只能删除 bb,变为 rbnbnrbnbn
  2. 石老师可以选择删除 nn,变为 rbnbrbnb
  3. 徐老师删除 bb,变为 rbnrbn
  4. 石老师删除 rr,变为 bnbn
  5. 徐老师删除 bb,变为 nn,此时判定徐老师失败 可以发现不存在方案使得徐老师获胜