function main(input) {
  var sp = input.split("\n");
  var spLength = sp.length;
  var NQ = sp[0].split(" ");
  var N = Number(NQ[0]);
  var NLengthHalf = N / 2;
  var Q = NQ[1];
  var S = sp[1];

  // ACを数える
  var num = countAC(S);

  for(i=2; i<spLength-1; i++){
    var lr = sp[i].split(" ");
    var l = lr[0];
    var r = lr[1];

    // l番目がCであれば+1する
    if(S.indexOf(l-1) === "C"){
      l++;
    }
    // r番目がAであれば-1する
    if(S.indexOf(r) === "A"){
      r--;
    }

    if(r-l+1 > NLengthHalf){
      // 切り取った方が大きいので残りを数える
      var lStr = S.substring(0, l);
      var rStr = S.substring(r-1, N);
      console.log(num - (countAC(lStr) + countAC(rStr)));
    }else{
      // 切り取った方が小さいので切り取った方を数えて引く
      var target = S.substring(l-1, r);
      console.log(countAC(target));
    }
  }
}

function countAC(str){
  return str.split("AC").length - 1;
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));
// main("8 3\n"
// +"ACACTACG\n"
// +"3 7\n"
// +"2 3\n"
// +"1 8\n")





