using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication104
{
    class Program
    {
        static int cena(char[] a, int c, int n)
        {
            int ce = 0;
            int prva = 0;
            while (a[prva] != '1' && prva<n-1) prva++;
            int poslednja = n - 1;
            while (a[poslednja] != '1' && poslednja >= prva) poslednja--;
            if (prva > poslednja)  ce+=0;
            int br1 = 0;
            int br0 = 0;
            for (int i = prva; i <= poslednja; i++)
            {
                if (a[i] == '1') br1++; else br0++;
            }
            if (br0 + c < br1)
            {
                char[] b=new char[poslednja-prva+1];
                for (int i = 0; i <= poslednja-prva; i++)
                {
                    if (a[prva+i] == '0') b[i] = '1'; else b[i] ='0';
                }
                    ce += c+cena(b,c,poslednja-prva+1);
 
            }
            else ce += br1;
                return ce;
        }
        static void Main(string[] args)
        {
            string[] s = Console.ReadLine().Split();
            int n = Convert.ToInt32(s[0]);
            int c = Convert.ToInt32(s[1]);
            int q = Convert.ToInt32(s[2]);
            
            char[] a = new char[n];
            string t = Console.ReadLine();
            for (int i = 0; i < n; i++)
            {
                char k = t[i];
                a[i] = k;
            }
            for (int i = 0; i < q; i++)
            {
                string[] h = Console.ReadLine().Split();
              int l = Convert.ToInt32(h[0]);
               int d = Convert.ToInt32(h[1]);
               for (int j = l-1; j < d; j++)
               {
                   if (a[j] == '0') a[j] = '1'; else a[j] = '0';
               }
               Console.WriteLine(cena(a, c, n));
            }
            Console.ReadLine();
        }
    }
}