You are designing the new videogame Live Fight Simulator. A level is defined by a string $$$s$$$ of length $$$n$$$ consisting of lowercase English letters, where each letter represents a type of enemy that appears in sequence.
To analyze the gameplay balance, you need to measure how repetitive different parts of the level are. You will consider $$$q$$$ specific contiguous segments $$$s[l, r]$$$ of the level, with $$$1 \le l \le r \le n$$$.
For each of these queries, you want to compute the length of the LFS (Longest Frequent Substring). Formally, for any string $$$t$$$:
For each query $$$(l, r)$$$, you must compute $$$|\text{LFS}(s[l, r])|$$$, which represents the maximum length among the most repetitive patterns of enemy spawns in that part of the level.
A string $$$x$$$ is a substring of a string $$$y$$$ if $$$x$$$ can be obtained from $$$y$$$ by the deletion of several (possibly, zero or all) characters from the beginning and several (possibly, zero or all) characters from the end.
The first line contains two integers $$$n$$$, $$$q$$$ ($$$1 \le n \le 5 \cdot 10^5$$$, $$$1 \le q \le 5 \cdot 10^5$$$) — the length of the sequence and the number of level segments to analyze.
The second line contains a string $$$s$$$ of length $$$n$$$ consisting of lowercase English letters.
Each of the next $$$q$$$ lines contains two integers $$$l$$$, $$$r$$$ ($$$1 \le l \le r \le n$$$), representing a query on the substring $$$s[l, r]$$$.
Print $$$q$$$ lines. The $$$i$$$-th line must contain a single integer: the value of $$$|\text{LFS}(s[l, r])|$$$ for the pair $$$(l, r)$$$.
5 4ababa1 11 51 42 5
1 1 2 2
10 1aaaaaaaaaa1 10
1
17 5deabcabcabdeadede1 81 104 92 161 17
3 2 3 1 2
Explanation of sample 1. In the first example:
| Name |
|---|


