# A, C, G, T からなる長さ N の文字列 S が与えられます。
# 以下の Q 個の問いに答えてください。
# 問 i (1≤i≤Q): 整数 li,ri (1≤li<ri≤N) が与えられる。
# S の先頭から li 文字目から ri 文字目までの (両端含む) 部分文字列を考える。
# この文字列に AC は部分文字列として何回現れるか。

# 文字列の長さと問いの数を取得
line_1 = gets.chomp.split
n = line_1[0].to_i
q = line_1[1].to_i

# 文字列を取得
s = gets.chomp

# 部分文字列の最初の文字と最後の文字の番号を格納する配列を宣言
l = Array.new
r = Array.new

# 問いの数だけ、lとrを取得
q.times do
  line = gets.chomp.split
  l << line[0].to_i - 1
  r << line[1].to_i - 1
end

# 部分文字列の中にACが含まれるか判定
q.times do |i|
  # ACが含まれている数を格納する変数を宣言
  count = 0
  
  # 部分文字列内を走査
  (r[i] - l[i]).times do |j|
    if l[i] + j + 1 < n
      if s[l[i] + j] == "A" && s[l[i] + j + 1] == "C"
        count += 1
      end
    else
      break
    end
  end
  
  # 結果を出力
  puts count
end