3230 - 相似子串

Input

输入第1行,包含3个整数N,Q。Q代表询问组数。 第2行是字符串S。 接下来Q行,每行两个整数i和j。(1≤i≤j)。

Output

输出共Q行,每行一个数表示每组询问的答案。如果不存在第i个子串或第j个子串,则输出-1。

Examples

Input

5 3
ababa
3 5
5 9
8 10

Output

18
16
-1

Hint

样例解释

第1组询问:两个子串是“aba”,“ababa”。f = 32 + 32 = 18。

第2组询问:两个子串是“ababa”,“baba”。f = 02 + 42 = 16。

第3组询问:不存在第10个子串。输出-1。

数据范围

N≤100000,Q≤100000,字符串只由小写字母'a'~'z'组成

Time Limit 1 second
Memory Limit 128 MB
Stats
上一题 下一题