#include<iostream>
#include<string>
#include<bits/stdc++.h>
#include <stdlib.h>
using namespace std;
void okretanje(string &s, int l, int r)
{
    for(int i=l; i<=r; i++)
    {
        if(s[i] == '1')
            s[i]='0';
        else if(s[i] == '0')
            s[i] = '1';
    }


}
int brojNulaJedan(string s, int poc, int kraj)
{
    int br=0;
    for(int i=poc;i<=kraj;i++)
        if(s[i]=='0')
            br++;
    return br;
}
int main()
{
    int n, c, q, poz=0, nule=0, resenje=0, k=0, resenja[q];
    char slovo;
    string s;
    cin >> n >> c >> q;
    int l[n], r[n];
    for(int i=0; i<=n; i++)
    {
        cin.get(slovo);
        s.push_back(slovo);
    }

    for(int i=0; i<q; i++)
       cin >> l[i] >> r[i];
  for(int i=0;i<q;i++)
        cout << " " << " " << " " << endl;
    for(int i=0;i<q;i++)
    {
        okretanje(s, l[i], r[i]);
        if(s[1] == '0')
        {
            for(int j=1;j<s.size()-1;j++)
            {
                if(s[j]!='0')
                {
                    poz = j;
                    break;
                }
            }

        }
        else if(s[1]=='1')
        {
            for(int j=1;j<s.size()-1;j++)
            {
                if(s[j]!='1')
                {
                    poz = j;
                    break;
                }
            }

        }
        if(poz!=0 && poz-1<s.size()/2)
            resenje+=poz-1;
        nule = brojNulaJedan(s, poz, s.size());
        if(nule<s.size()/2)
            resenje+=2+nule;
        else if(nule>s.size()/2)
            resenje+=s.size()-nule;
        nule = 0;
        poz = 0;
     cout << resenje-1 << endl;
        resenje = 0;
    }
    return 0;
}