#include <iostream>
#include <string>
#include <bits/stdc++.h>
using namespace std;
string podniz (string str, int L, int R)
{
    for(int i=L-1; i<R; i++)
    {
        if(str[i]=='0')
            str[i]='1';
        else
            str[i]='0';
    }
    return str;
}
int cena (string str, int C,int N)
{
    string p = str;
    int R,pom=0,pom2=0,pom3=0;
    for(int i=0; i<N; i++)
    {
        if(str[i]=='1')
        {
            str[i]='0';
            pom++;
        }
    }
    R=pom;
    pom=0;
    str = p;



    for(int i=0; i<N; i++)
    {
        if(str[i]=='0')
        {
            str[i]='1';
            pom++;
        }
    }
    if (R > pom + C)
    {
        R=pom + C;
    }
    pom=0;
    str = p;




    for(int i=0;i<N;i++)
    {
        if(str[i]=='1')
        {
            if(i==0)
            {
                if(str[i]=='1' && str[i+1]=='0')
                    pom3++;
                   ///radi
            }
            else if(i==(N-1))
            {
                if(str[i-1]=='0')
                    pom3++;
                else
                    pom++;
                    if(pom>C)
                {
                    pom3=pom3+C;
                }
                else
                pom3=pom3+pom;
                pom=0;
                    ///radi
                break;
            }
            else if(str[i]==str[i+1])
            {
                ++pom;

            }

            else if (str[i]!=str[i+1])
            {
                ++pom;

                if(pom>C)
                {
                    pom3=pom3+C;
                }
                else
                pom3=pom3+pom;
                pom=0;
            }
            if(i!=0 && i!=N)
            {
                if (str[i-1]=='0' && str[i+1]=='0' )
                {
                    pom3++;

                }
            }

        }
    }
    if(R > pom3)
        R=pom3;






    pom=0;
    str = p;
    pom2=0;
    pom3=0;
    for(int i=0;i<N;i++)
    {
        if(str[i]=='0')
        {
            if(i==0)
            {
                if(str[i]=='0' && str[i+1]=='1')
                    pom3++;
                   ///radi
            }
            else if(i==(N-1))
            {
                if(str[i-1]=='1')
                    pom3++;
                else
                    pom++;
                    if(pom>C)
                {
                    pom3=pom3+C;
                }
                else
                pom3=pom3+pom;
                pom=0;
                    ///radi
                break;
            }
            else if(str[i]==str[i+1])
            {
                ++pom;

            }

            else if (str[i]!=str[i+1])
            {
                ++pom;

                if(pom>C)
                {
                    pom3=pom3+C;
                }
                else
                pom3=pom3+pom;
                pom=0;
            }
            if(i!=0 && i!=N)
            {
                if (str[i-1]=='1' && str[i+1]=='1' )
                {
                    pom3++;

                }
            }

        }
        else
            pom3++;
    }
    pom3=pom3+C;
    if(R > pom3)
        R=pom3;


    return R;
}
int main()
{
    int N;
    cin>> N;
    int C;
    cin>> C;
    int Q;
    cin>> Q;
    string S;
    cin>>S;
    int L,R,p=Q;
    int rezultat[Q];
    while (Q!=0)
    {
        cin>>L;
        cin>>R;
        S=podniz(S,L,R);
        rezultat[p-Q] = cena(S,C,N);
        Q--;
    }
    for(int i=0; i<p; i++)
    {
        cout<<rezultat[i]<<endl;
    }


    return 0;
}