#CF1555D. 对回文说不

对回文说不

对回文说不

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

如果一个字符串不含长度至少为 22 的回文子串,就称它是美丽字符串。

一次操作可以把字符串中的任意一个字符改为 a、b、c 中的任意一个。一个字符串的代价是 把它变成美丽字符串所需的最少操作次数。

给定一个只含 a、b、c 的字符串 ss,回答 mm 个询问。每个询问给出 l,rl,r,求子串 slsl+1⋯srs_l s_{l+1}\cdots s_r 的代价。

输入格式

第一行包含两个整数 n,mn,m,分别表示字符串长度和询问数。

第二行包含长度为 nn 的字符串 ss。

接下来 mm 行,每行包含两个整数 l,rl,r。

输出格式

对每个询问输出一行一个整数,表示对应子串的代价。

样例输入 1

5 4
baacb
1 3
1 5
4 5
2 3

样例输出 1

1
2
0
1

数据范围

1≤n,m≤2⋅1051\le n,m\le2\cdot10^5,ss 只含字符 a、b、c,1≤l≤r≤n1\le l\le r\le n。

子任务编号 分值 特殊限制
1 30 n≤8n \le 8 且 m≤8m \le 8
2 m≤50m \le 50
3 40 无特殊限制