You are given a huge decimal number consisting of n digits. It is guaranteed that this number has no leading zeros. Each digit of this number is either 0 or 1.

You may perform several (possibly zero) operations with this number. During each operation you are allowed to change any digit of your number; you may change 0 to 1 or 1 to 0. It is possible that after some operation you can obtain a number with leading zeroes, but it does not matter for this problem.

You are also given two integers 0 ≤ y < x < n. Your task is to calculate the minimum number of operations you should perform to obtain the number that has remainder 10^y modulo 10^x. In other words, the obtained number should have remainder 10^y when divided by 10^x.

Input

The first line of the input contains three integers n, x, y (0 ≤ y < x < n ≤ 2 ⋅ 10^5) — the length of the number and the integers x and y, respectively.

The second line of the input contains one decimal number consisting of n digits, each digit of this number is either 0 or 1. It is guaranteed that the first digit of the number is 1.

Output

Print one integer — the minimum number of operations you should perform to obtain the number having remainder 10^y modulo 10^x. In other words, the obtained number should have remainder 10^y when divided by 10^x.

Examples

Input


11 5 2
11010100101


Output


1


Input


11 5 1
11010100101


Output


3

Note

In the first example the number will be 11010100100 after performing one operation. It has remainder 100 modulo 100000.

In the second example the number will be 11010100010 after performing three operations. It has remainder 10 modulo 100000.
import java.io.*;
import java.util.Arrays;
import java.util.InputMismatchException;

import static java.lang.Math.pow;

public class Solution implements Runnable
{
    static int inf=Integer.MAX_VALUE;
    static int mininf=Integer.MIN_VALUE;
    static int  mod=(int) pow(10,9)+7;



    static class InputReader
    {
        private InputStream stream;
        private byte[] buf = new byte[1024];
        private int curChar;
        private int numChars;
        private SpaceCharFilter filter;
        private BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        public InputReader(InputStream stream)
        {
            this.stream = stream;
        }

        public int read()
        {
            if (numChars==-1)
                throw new InputMismatchException();

            if (curChar >= numChars)
            {
                curChar = 0;
                try
                {
                    numChars = stream.read(buf);
                }
                catch (IOException e)
                {
                    throw new InputMismatchException();
                }

                if(numChars <= 0)
                    return -1;
            }
            return buf[curChar++];
        }

        public String nextLine()
        {
            String str = "";
            try
            {
                str = br.readLine();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            return str;
        }
        public int nextInt()
        {
            int c = read();

            while(isSpaceChar(c))
                c = read();

            int sgn = 1;

            if (c == '-')
            {
                sgn = -1;
                c = read();
            }

            int res = 0;
            do
            {
                if(c<'0'||c>'9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            while (!isSpaceChar(c));

            return res * sgn;
        }

        public long nextLong()
        {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            int sgn = 1;
            if (c == '-')
            {
                sgn = -1;
                c = read();
            }
            long res = 0;

            do
            {
                if (c < '0' || c > '9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            while (!isSpaceChar(c));
            return res * sgn;
        }

        public double nextDouble()
        {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            int sgn = 1;
            if (c == '-')
            {
                sgn = -1;
                c = read();
            }
            double res = 0;
            while (!isSpaceChar(c) && c != '.') {
                if (c == 'e' || c == 'E')
                    return res * pow(10, nextInt());
                if (c < '0' || c > '9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            if (c == '.')
            {
                c = read();
                double m = 1;
                while (!isSpaceChar(c))
                {
                    if (c == 'e' || c == 'E')
                        return res * pow(10, nextInt());
                    if (c < '0' || c > '9')
                        throw new InputMismatchException();
                    m /= 10;
                    res += (c - '0') * m;
                    c = read();
                }
            }
            return res * sgn;
        }

        public String readString()
        {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            StringBuilder res = new StringBuilder();
            do
            {
                res.appendCodePoint(c);
                c = read();
            }
            while (!isSpaceChar(c));

            return res.toString();
        }

        public boolean isSpaceChar(int c)
        {
            if (filter != null)
                return filter.isSpaceChar(c);
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }

        public String next()
        {
            return readString();
        }

        public interface SpaceCharFilter
        {
            public boolean isSpaceChar(int ch);
        }

    }

    public static void main(String args[]) throws Exception
    {
        new Thread(null, new Solution(),"Cf634d",1<<27).start();
    }
    // **just change the name of class from Main to reuquired**
    public void run()
    {
        InputReader in = new InputReader(System.in);
        PrintWriter w = new PrintWriter(System.out);
        int n=in.nextInt();
        int x=in.nextInt();
        int y=in.nextInt();
        String str=in.next();
        String sub=str.substring(str.length()-x-1);
        char[] ar=new char[y+1];
        Arrays.fill(ar,'0');
        ar[0]='1';
        char[] c=new char[x-(y+1)];
        Arrays.fill(c,'0');
       // System.out.println(sub);


        String tempstr=String.valueOf(c)+String.valueOf(ar);
        //System.out.println(tempstr);
       int i=0;
       int ans=0;
       while (i<tempstr.length()){
           if (sub.charAt(i+1)!=tempstr.charAt(i)){
               ans++;
           }
           i++;
       }
       w.println(ans);



        System.out.flush();
        w.close();
    }
    public int max(int a,int b){ // max value
        return (Math.max(a,b));
    }

    static int min(int a,int b){ // min value
        return Math.min(a,b);
    }
    public long log(float number , int base){ //get log
        return (long) Math.floor((Math.log(number) / Math.log(base)));
    }
    public long gcd(long a , long b){
        if (b==0){
            return a;
        }
        return gcd(b , a%b);
    }
    public void print2d(long a[][] , PrintWriter out){// print 2d matrix
        for(int i=0;i<a.length;i++){
            for(int j=0;j<a[i].length;j++)
                out.print(a[i][j] + " ");
            out.println();
        }
        out.println();
    }
    public void swap(int a[] , int p1 , int p2){//swap
        int x = a[p1];
        a[p1] = a[p2];
        a[p2] = x;
    }
    public long po(long a , long b , long res){ //power
        if(b == 0)
            return res;
        if(b==1)
            return res*a;
        if(b%2==1){
            res *= a;
            b--;
        }
        return po(a*a , b/2 , res);
    }
    public int [][] matrixMultiply(int a[][] , int b[][]){ // matrix multiply
        int r1 = a.length;
        int c1 = a[0].length;
        int c2 = b[0].length;
        int c[][] = new int[r1][c2];
        for(int i=0;i<r1;i++){
            for(int j=0;j<c2;j++){
                for(int k=0;k<c1;k++)
                    c[i][j] += a[i][k]*b[k][j];
            }
        }
        return c;
    }

}