#include <bits/stdc++.h>

using namespace std;

int main()
{
   int n,c,q;
   cin>>n>>c>>q;
   string s;
   cin>>s;
   int levo,desno;
   string pom;
   for (int i=0;i<q;i++)
   {
       cin>>levo>>desno;
       for (int i=(levo-1);i<desno;i++)
       {
           if(s[i]=='0')
           {
               s[i]='1';
           }
           else if (s[i]=='1')
           {
               s[i]='0';
            }
       }
       int poz1;
        poz1=s.find('1');
        int poz2;
        poz2=s.find_last_of('1');
        if (poz1!=string::npos)
        {
            //cout<<poz1<<" "<<poz2<<" ";
            pom=s.substr(poz1, poz2-poz1+1);
        }
        else
        {
            cout<<"0"<<endl;
            break;
        }
        int prvacena=0;
        int drugacena;
        for (int i=0;i<pom.size();i++)
        {
            if (pom[i]=='1')
                prvacena++;
        }
        drugacena=c+pom.size()-prvacena;
        if (drugacena>prvacena)
                cout<<prvacena<<endl;
        else
                cout<<drugacena<<endl;
       //cout<<s<<" "<<pom<<" ";
   }
  
}