import java.util.Scanner;

public class Main {
	private static Scanner sc;

	public static void main(String[] args) throws Exception {
		sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Q = sc.nextInt();
		String S = sc.next();

		// 先にX文字目にACは何文字あったか、の数列をつくっておく。
		// ていうか問題の入力を始めてから回答を受け取るまでの時間を測ってるんだな。
		// 随時答えるほうがよいんだな。

		int[] t = new int[N];
		t[0] = 0;
		for (int i = 0; i < N - 1; i++) {

			t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0);
		}

		question[] questions = new question[Q];

		for (int i = 0; i < Q; i++) {
			questions[i] = new question();
			questions[i].i = sc.nextInt();
			questions[i].r = sc.nextInt();
			// System.out.println(questions[i]);
		}

		for (question q : questions) {
			System.out.println(t[q.r - 1] - t[q.i - 1]);
		}

	}
}

class question {
	int i;
	int r;

	public String toString() {
		return "i:" + i + ",r:" + r;
	}
} import java.util.Scanner; Scanner java.util public class Main {
	private static Scanner sc;

	public static void main(String[] args) throws Exception {
		sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Q = sc.nextInt();
		String S = sc.next();

		// 先にX文字目にACは何文字あったか、の数列をつくっておく。
		// ていうか問題の入力を始めてから回答を受け取るまでの時間を測ってるんだな。
		// 随時答えるほうがよいんだな。

		int[] t = new int[N];
		t[0] = 0;
		for (int i = 0; i < N - 1; i++) {

			t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0);
		}

		question[] questions = new question[Q];

		for (int i = 0; i < Q; i++) {
			questions[i] = new question();
			questions[i].i = sc.nextInt();
			questions[i].r = sc.nextInt();
			// System.out.println(questions[i]);
		}

		for (question q : questions) {
			System.out.println(t[q.r - 1] - t[q.i - 1]);
		}

	}
} Main private static Scanner sc; sc public static void main(String[] args) throws Exception {
		sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Q = sc.nextInt();
		String S = sc.next();

		// 先にX文字目にACは何文字あったか、の数列をつくっておく。
		// ていうか問題の入力を始めてから回答を受け取るまでの時間を測ってるんだな。
		// 随時答えるほうがよいんだな。

		int[] t = new int[N];
		t[0] = 0;
		for (int i = 0; i < N - 1; i++) {

			t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0);
		}

		question[] questions = new question[Q];

		for (int i = 0; i < Q; i++) {
			questions[i] = new question();
			questions[i].i = sc.nextInt();
			questions[i].r = sc.nextInt();
			// System.out.println(questions[i]);
		}

		for (question q : questions) {
			System.out.println(t[q.r - 1] - t[q.i - 1]);
		}

	} main {
		sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Q = sc.nextInt();
		String S = sc.next();

		// 先にX文字目にACは何文字あったか、の数列をつくっておく。
		// ていうか問題の入力を始めてから回答を受け取るまでの時間を測ってるんだな。
		// 随時答えるほうがよいんだな。

		int[] t = new int[N];
		t[0] = 0;
		for (int i = 0; i < N - 1; i++) {

			t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0);
		}

		question[] questions = new question[Q];

		for (int i = 0; i < Q; i++) {
			questions[i] = new question();
			questions[i].i = sc.nextInt();
			questions[i].r = sc.nextInt();
			// System.out.println(questions[i]);
		}

		for (question q : questions) {
			System.out.println(t[q.r - 1] - t[q.i - 1]);
		}

	} sc = new Scanner(System.in) sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int Q = sc.nextInt(); Q sc.nextInt() sc.nextInt sc String S = sc.next(); S sc.next() sc.next sc int[] t = new int[N]; t new int[N] N t[0] = 0 t[0] t 0 0 for (int i = 0; i < N - 1; i++) {

			t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0);
		} int i = 0; int i = 0; i 0 i < N - 1 i N - 1 N 1 i++ i++ i {

			t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0);
		} {

			t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0);
		} t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0) t[i + 1] t i + 1 i 1 t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0) t[i] t i (S.substring(i, i + 2).equals("AC") ? 1 : 0) S.substring(i, i + 2).equals("AC") S.substring(i, i + 2).equals S.substring(i, i + 2) S.substring S i i + 2 i 2 "AC" 1 0 question[] questions = new question[Q]; questions new question[Q] Q for (int i = 0; i < Q; i++) {
			questions[i] = new question();
			questions[i].i = sc.nextInt();
			questions[i].r = sc.nextInt();
			// System.out.println(questions[i]);
		} int i = 0; int i = 0; i 0 i < Q i Q i++ i++ i {
			questions[i] = new question();
			questions[i].i = sc.nextInt();
			questions[i].r = sc.nextInt();
			// System.out.println(questions[i]);
		} {
			questions[i] = new question();
			questions[i].i = sc.nextInt();
			questions[i].r = sc.nextInt();
			// System.out.println(questions[i]);
		} questions[i] = new question() questions[i] questions i new question() questions[i].i = sc.nextInt() questions[i].i questions[i] questions i questions[i].i sc.nextInt() sc.nextInt sc questions[i].r = sc.nextInt() questions[i].r questions[i] questions i questions[i].r sc.nextInt() sc.nextInt sc for (question q : questions) {
			System.out.println(t[q.r - 1] - t[q.i - 1]);
		} question q questions {
			System.out.println(t[q.r - 1] - t[q.i - 1]);
		} {
			System.out.println(t[q.r - 1] - t[q.i - 1]);
		} System.out.println(t[q.r - 1] - t[q.i - 1]) System.out.println System.out System System.out t[q.r - 1] - t[q.i - 1] t[q.r - 1] t q.r - 1 q.r q q.r 1 t[q.i - 1] t q.i - 1 q.i q q.i 1 String[] args args class question {
	int i;
	int r;

	public String toString() {
		return "i:" + i + ",r:" + r;
	}
} question int i; i int r; r public String toString() {
		return "i:" + i + ",r:" + r;
	} toString {
		return "i:" + i + ",r:" + r;
	} return "i:" + i + ",r:" + r; "i:" + i + ",r:" + r ",r:" "i:" + i + ",r:" + r "i:" i ",r:" r public class Main {
	private static Scanner sc;

	public static void main(String[] args) throws Exception {
		sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Q = sc.nextInt();
		String S = sc.next();

		// 先にX文字目にACは何文字あったか、の数列をつくっておく。
		// ていうか問題の入力を始めてから回答を受け取るまでの時間を測ってるんだな。
		// 随時答えるほうがよいんだな。

		int[] t = new int[N];
		t[0] = 0;
		for (int i = 0; i < N - 1; i++) {

			t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0);
		}

		question[] questions = new question[Q];

		for (int i = 0; i < Q; i++) {
			questions[i] = new question();
			questions[i].i = sc.nextInt();
			questions[i].r = sc.nextInt();
			// System.out.println(questions[i]);
		}

		for (question q : questions) {
			System.out.println(t[q.r - 1] - t[q.i - 1]);
		}

	}
} public class Main {
	private static Scanner sc;

	public static void main(String[] args) throws Exception {
		sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Q = sc.nextInt();
		String S = sc.next();

		// 先にX文字目にACは何文字あったか、の数列をつくっておく。
		// ていうか問題の入力を始めてから回答を受け取るまでの時間を測ってるんだな。
		// 随時答えるほうがよいんだな。

		int[] t = new int[N];
		t[0] = 0;
		for (int i = 0; i < N - 1; i++) {

			t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0);
		}

		question[] questions = new question[Q];

		for (int i = 0; i < Q; i++) {
			questions[i] = new question();
			questions[i].i = sc.nextInt();
			questions[i].r = sc.nextInt();
			// System.out.println(questions[i]);
		}

		for (question q : questions) {
			System.out.println(t[q.r - 1] - t[q.i - 1]);
		}

	}
} Main
import java.util.Scanner;

public class Main {
	private static Scanner sc;

	public static void main(String[] args) throws Exception {
		sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Q = sc.nextInt();
		String S = sc.next();

		// 先にX文字目にACは何文字あったか、の数列をつくっておく。
		// ていうか問題の入力を始めてから回答を受け取るまでの時間を測ってるんだな。
		// 随時答えるほうがよいんだな。

		int[] t = new int[N];
		t[0] = 0;
		for (int i = 0; i < N - 1; i++) {

			t[i + 1] = t[i] + (S.substring(i, i + 2).equals("AC") ? 1 : 0);
		}

		question[] questions = new question[Q];

		for (int i = 0; i < Q; i++) {
			questions[i] = new question();
			questions[i].i = sc.nextInt();
			questions[i].r = sc.nextInt();
			// System.out.println(questions[i]);
		}

		for (question q : questions) {
			System.out.println(t[q.r - 1] - t[q.i - 1]);
		}

	}
}

class question {
	int i;
	int r;

	public String toString() {
		return "i:" + i + ",r:" + r;
	}
}