A sequence of letters is called a word. A sequence of letters is considered special if all the characters within the word are unique (There are no duplicate letters).
Given a sequence of letters and
queries, for each query, determine the number of possible Special Sequences that can be created using all the unique characters between index
and
(inclusive) of string
.
Input Specification
The first line will consist of two integers
and
, the length of string
and the number of queries.
The next line will contain a single string of length
consisting of uppercase characters between
A
to Z
.
The last lines will consist of 2 integers,
and
, representing a query using characters between
and
(inclusive) of string
.
Output Specification
For each query , output the number of possible Special Sequences using characters between the
th and
th character of string
Subtasks
Subtask 1 [10%]:
Subtask 2 [20%]:
Subtask 3 [70%]:
- No further constraints
Sample Input 1
3 1
XYZ
1 3
Sample Output 1
6
Explanation for Sample Output 1
There are a total of 6 unique Special Sequences using characters between indices 1
and 3
:
XYZ
, XZY
, YXZ
, YZX
, ZXY
, ZYX
.
Sample Input 2
9 4
SSSUUUSSS
1 3
3 4
4 6
1 9
Sample Output 2
1
2
1
2
Explanation of Sample Output 2
The only possible Special Sequence using characters between indices 1
and 3
is S
.
The two characters between 3
and 4
are S
and U
, the only possible Special Sequences are SU
and US
The only possible Special Sequence using characters between indices 4
and 6
is U
.
The two characters unique characters between 1
and 10
are S
and U
, the only possible Special Sequences are SU
and US
Sample Input 3
26 1
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1 26
Sample Output 3
49626704
Explanation for Sample Output 3
Make sure to output your answer
.
Comments