#include <stdio.h>
#include <stdlib.h>

int min(int a, int b)
{
    if(a < b)
        return a;
    else
        return b;
}

int obrni(int x)
{
    if(x == 0)
        return 1;
    else
        return 0;
}

void okreniPodNiz(int* a, int p, int k)
{
    for(int i = p; i <= k; i++)
        *(a+i) = obrni(*(a+i));
}

int minCena(int* a, int n, int c)
{
    int cena = 0;
    int b[n][2];
    b[0][0] = *a;
    b[0][1] = 1;
    int nb = 0;

    for(int i = 1; i < n; i++)
    {
        b[i][0] = -1;
        b[i][1] = 0;
        if(*(a+i) == b[nb][0])
        {
            b[nb][1]++;
        }
        else
        {
            nb++;
            b[nb][0] = *(a+i);
            b[nb][1]++;
        }
    }

    nb++;
    if(c == 1)
    {
        for(int i = 0; i < nb; i++)
        {
            if(b[i][0] == 1)
                cena++;
        }
    }
    else if(c == n)
    {
        for(int i = 0; i < nb; i++)
        {
            if(b[i][0] == 1)
                cena += b[i][1];
        }
    }
    else
    {
        for(int i = 0; i < nb; i++)
        {
            if(b[i][0] == 1)
                cena += min(b[i][1], c);
        }
    }
    return cena;
}

int main()
{
    int n, c, q;
    scanf("%d", &n);
    scanf("%d", &c);
    scanf("%d", &q);
    int a[n];
    char input;
    for(int i = -1; i < n; i++)
    {
        scanf("%c", &input);
        if(i >= 0)
        {
            a[i] = (int)input - 48;
        }
    }
    int l, d, cena[q];
    for(int i = 0; i < q; i++)
    {
        scanf("%d", &l);
        scanf("%d", &d);
        okreniPodNiz(a, l-1, d-1);
        for(int i = 0; i < n; i++)
        {
            printf("%d", a[i]);
        }
        printf("\n");
        cena[i] = minCena(a, n, c);
        printf("\n");
    }
    for(int i = 0; i < q; i++)
    {
        printf("%d\n", cena[i]);
    }
    return 0;
}