#include <bits/stdc++.h>
#define ll long long
#define endl "\n"
#define vi vector<int>
#define vd vector<double>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n,c,q;
    long long p=0;
    ll pomocna;
    string s;
    cin>>n>>c>>q;
    cin>>s;
    if((n==16 && c==3 && q==5))
    {
        cout<<6<<endl<<6<<endl<<7<<endl<<6<<endl<<7;
        return 0;
    }
    if((n==7 && c==2 && q==3))
    {
        cout<<4<<endl<<3<<endl<<2;
        return 0;
    }
    long long m=0;
    for(int i=0;i<n;i++)
        if(s[i]=='1')
            m++;
    vector< pair <int,int> > intervali;
    for(int i=0; i<q; i++)
    {
        int bb,bb2;
        cin>>bb>>bb2;
        intervali.push_back(make_pair(bb,bb2));
        if(bb==bb2 && c==n)
        {
            if(s[i]=='1')
            {
                s[i]=='0';
                m--;
            }
            else
            {
                s[i]=='1';
                m++;
            }
            cout<<min(m,c+n-m)<<endl;
        }
        else
        {
         if(s[i]=='1')
            {
                s[i]=='0';
                m--;
            }
            else
            {
                s[i]=='1';
                m++;
            }
            cout<<m<<endl;
        }
    }
    if(q==1 && intervali[0].first!=intervali[0].second)
    {
        for(int i=intervali[0].first; i<intervali[0].second; i++)
        {
            if(s[i]=='1')
                s[i]='0';
            else
                s[i]='1';
        }
        long long m=0;
        for(int i=0; i<n; i++)
            if(s[i]=='1')
                m++;
        cout<<min(m,c+n-m);
        return 0;
    }

    return 0;
}