#GYM104599G. Consecutive Segments

Consecutive Segments

Description

Karel the Robot is given a string $S$ and $Q$ queries. The $i$th query consists of integers $L_i$ and $R_i$, with $1≤L_i≤R_i≤|S|$. Help Karel find the number of substrings of the same character in $S[L_i,R_i]$. For example, $aa$ contains one substring of the same character, $aba$ contains three, and $abbcccddaa$ contains five.

Line 1: One string, $S$.

Line 2: One integer, $Q$.

Lines 3…$Q+2$: Line $i+2$ contains integers $L_i$ and $R_i$, separated by a space.

Lines 1…$Q$: Line $i$ contains the answer to the $i$th query, more specifically the number of substrings of the same character in $S[L_i,R_i]$.

Input

Line 1: One string, $S$.

Line 2: One integer, $Q$.

Lines 3…$Q+2$: Line $i+2$ contains integers $L_i$ and $R_i$, separated by a space.

Output

Lines 1…$Q$: Line $i$ contains the answer to the $i$th query, more specifically the number of substrings of the same character in $S[L_i,R_i]$.

aabcccab
8
1 1
1 2
1 3
1 4
1 5
1 8
2 4
4 6
1
1
2
3
3
5
3
1

Note

$1≤S≤10^5$

$1≤Q≤10^5$

One-indexing is used in this problem. For example, if $S$=$aabcccab$, then $S[3,6]$=$bccc$, not $ccca$.

The substrings that the inputs correspond to are $a$,$aa$,$aab$,$aabc$,$aabcc$,$aabcccab$,$abc$, and $ccc$, respectively. For instance, the answer to the $5$th query is 3 because $aabcc$ contains three substrings of the same character: $aa$, $b$, and $cc$.