Time limit: 1.5s
Memory limit: 128MB
Input:
Output:
Cerință
Fie un șir de caractere , format din litere mici ale alfabetului englez, indexat de la . Trebuie să răspundeți la query-uri de forma - calculați câte inversiuni se află în intervalul . O inversiune este o pereche de indici , , pentru care este adevărată relația .
Date de intrare
Pe prima linie din intrare se află un număr natural reprezentând dimensiunea șirului. Pe a doua linie se află șirul de caractere . Pe a treia linie se află , reprezentând numărul de query-uri, iar pe următoarele linii se află câte două numere naturale, separate printr-un spațiu, care reprezintă un query.
Date de ieșire
Se vor afişa, pe linii diferite, numere naturale reprezentând răspunsurile pentru fiecare query.
Restricții și precizări
- ;
- .
- Subtask (p): ;
- Subtask (p): ;
- Subtask (p): ;
- Subtask (p): Fără alte restricții.
Exemplul 1
stdin
7
yjiknyy
6
5 7
1 5
2 6
1 6
6 7
1 5
stdout
0
5
1
5
0
5
Exemplul 2
stdin
10
dvoeikwnuw
10
1 7
5 7
1 2
3 8
4 6
1 6
2 7
3 3
2 3
6 9
stdout
7
0
0
5
0
7
7
0
1
2