#PS0000004. Đếm chuỗi AC (GeT AC)

Đếm chuỗi AC (GeT AC)

Đếm chuỗi AC (GeT AC)

Nguồn: AtCoder

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho chuỗi ADN SS có độ dài NN, mỗi ký tự thuộc một trong bốn loại A, C, G, T.

Một lần xuất hiện của chuỗi AC được xác định bởi hai vị trí kề nhau ii và i+1i+1 sao cho

Si=A,Si+1=C.S_i=\texttt{A},\qquad S_{i+1}=\texttt{C}.

Với mỗi truy vấn [l,r][l,r], hãy đếm số lần AC xuất hiện hoàn toàn bên trong đoạn SlSl+1…SrS_lS_{l+1}\ldots S_r.

Input

  • Dòng đầu chứa hai số nguyên N,QN,Q.
  • Dòng thứ hai chứa chuỗi SS có độ dài NN.
  • Mỗi trong QQ dòng tiếp theo chứa hai số nguyên l,rl,r.

Output

Với mỗi truy vấn, in trên một dòng số lần chuỗi AC xuất hiện trong đoạn được hỏi.

Subtask

Điều kiện chung đã đối chiếu với nguồn:

  • 2≤N≤1052\le N\le10^5

  • 1≤Q≤1051\le Q\le10^5

  • Si∈{A,C,G,T}S_i\in\{A,C,G,T\}

  • 1≤l<r≤N1\le l<r\le N

  • Subtask 1 — 20%: N,Q≤40N,Q\le40

  • Subtask 2 — 30%: Mọi truy vấn đều có l=1l=1.

  • Subtask 3 — 50%: không có điều kiện bổ sung ngoài các điều kiện chung ở trên.

Ví dụ

Input

8 3
ACACTACG
3 7
2 3
1 8

Output

2
0
3

Giải thích

Chuỗi là ACACTACG. Các lần xuất hiện của AC bắt đầu tại vị trí 11, 33 và 66.

  • Trong đoạn [3,7][3,7], có hai lần xuất hiện: tại (3,4)(3,4) và (6,7)(6,7).
  • Trong đoạn [2,3][2,3], chuỗi con là CA, nên không có AC.
  • Trong đoạn [1,8][1,8], cả ba lần xuất hiện đều nằm hoàn toàn trong đoạn.