using System;

namespace _01NizSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, c, q, i;
            string novcici;
            string input = Console.ReadLine();
            string[] vrednosti;
            vrednosti = input.Split(' ');
            n = int.Parse(vrednosti[0]);
            c = int.Parse(vrednosti[1]);
            q = int.Parse(vrednosti[2]);
            int[] novac = new int[n+1];
            int[] izlaz = new int[q+1];
            novcici = Console.ReadLine();
            for (i = 1; i <= n; i++)
            {
                novac[i] = (int)(novcici[i - 1]);
            }
            for (i=1;i<=q;i++)
            {
                input = Console.ReadLine();
                vrednosti = input.Split(' ');
                int broj0 = 0, broj1 = 0, j;
                for (j = int.Parse(vrednosti[0]); j <= int.Parse(vrednosti[1]); j++)
                {
                    novac[j] = (novac[j] + 1) % 2;
                }
                for(j=1;j<=n;j++)
                {
                    if (novac[j] == 0)
                    {
                        broj0++;
                    }
                    else
                    {
                        broj1++;
                    }
                    
                }
                if (broj1 < (c + broj0))
                {
                    izlaz[i] = broj1;
                }
                else
                {
                    izlaz[i] = c + broj0; 
                }
            }
            for(i=1;i<=q;i++)
            {
                Console.WriteLine(izlaz[i]);
            }
        }
    }
}