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 \le 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 \le y < x < n \le 2 \cdot 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$.

Difficulty: introductory

Starter code:

Solutions:
n, x, y = map(int, input().split())
s = input()[-x:]
res = s.count('1')
if s[-y - 1] == '1': res -= 1
else: res += 1
# print(s)
print(res)

n, x, y = map(int, input().split())
s = input()
cnt = 0
for i in range(n - x, n):
    if s[i] == '1':
        if i != n - y - 1: cnt += 1
    elif i == n - y - 1: cnt += 1
print(cnt)

n, x, y = list(map(int, input().split()))
s = input()
s = s[::-1]
ans = 0
for i in range(x):
    if i == y:
        if s[i] == "0":
            ans += 1
    else:
        if s[i] == "1":
            ans += 1
print(ans)


n, x, y = list(map(int, input().split()))
s = input()
ans = 0
for i in range(n - x, n):
	if i < n - y - 1:
		if s[i] == '1':
			ans += 1
	else:
		if i == n - y - 1:
			if s[i] == '0':
				ans += 1
		else:
			if (s[i] == '1'):
				ans += 1
print(ans)


n, x, y = map(int, input().split())
s = input()
s = s[-x:]
cnt = 0
for i in range(len(s)):
    if i == x - y - 1 and s[i] == '0':
        cnt += 1
    elif s[i] == '1' and i != x - y - 1:
        cnt += 1
print(cnt)

n, x, y = list(map(int, input().split()))
s = input().strip()
ans = 0
for i in range(x):
    if i == y:
        ans += s[n - 1 - i] == '0'
    else:
        ans += s[n - 1 - i] == '1'
print(ans)


def main():
    n, x, y = map(int, input().split())
    s = input()
    ans = 0
    for i in range(-1, -x - 1, -1):
        if i == -(y + 1):
            ans += s[i] != '1'
            continue
        ans += s[i] == '1'
    print(int(ans))
    return 0

main()

import math
import bisect
import heapq
from collections import defaultdict


def egcd(a, b):
    if a == 0:
        return (b, 0, 1)
    else:
        g, x, y = egcd(b % a, a)
        return (g, y - (b // a) * x, x)


def mulinv(b, n):
    g, x, _ = egcd(b, n)
    if g == 1:
        return x % n



def isprime(n):
    for d in range(2, int(math.sqrt(n))+1):
        if n % d == 0:
            return False
    return True


def argsort(ls):
    return sorted(range(len(ls)), key=ls.__getitem__)


def f(p=0):
    if p == 1:
        return map(int, input().split())
    elif p == 2:
        return list(map(int, input().split()))
    elif p == 3:
        return list(input())
    else:
        return int(input())

n, x, y = f(1)
s = f(3)

count = 0

for i in range(n-x, n):
    if (s[i]=='1' and i!=n-1-y) or (s[i]=='0' and i==n-1-y):
        count+=1

print(count)

# AC
import sys


class Main:
    def __init__(self):
        self.buff = None
        self.index = 0

    def __next__(self):
        if self.buff is None or self.index == len(self.buff):
            self.buff = self.next_line()
            self.index = 0
        val = self.buff[self.index]
        self.index += 1
        return val

    def next_line(self):
        return sys.stdin.readline().split()

    def next_ints(self):
        return [int(x) for x in sys.stdin.readline().split()]

    def next_int(self):
        return int(next(self))

    def solve(self):
        n, x, y = self.next_ints()
        xx = next(self)
        stp = 0
        for i in range(0, x):
            if i == y:
                if xx[- 1 - i] != '1':
                    stp += 1
            elif xx[-1 - i] != '0':
                stp += 1
        print(stp)


def __starting_point():
    Main().solve()

__starting_point()

n, x, y = list(map(int, input().split()))
s = input()
ans = 0
for i in range(n - x, n):
    if i == n - y - 1:
        if (s[i] == '0'):
            ans += 1
    else:
        if (s[i] == '1'):
            ans += 1
print(ans)


n, x, y = map(int, input().split())
s = input()
count = 0
for i in range(n - x, n):
    if s[i] == "1" and i != n - y - 1:
        count += 1
    if s[i] == "0" and i == n - y - 1:
        count += 1
print(count)

n,x,y = list(map(int, input().split()))
num = input()
ans=0
for i in range(x):
    if i==y:
        if num[n-1-i]!="1":
            ans+=1
    else:
        if num[n-1-i]!="0":
            ans+=1
print(ans)
#r = list(map(int, input().split()))


n,x,y=[int(x) for x in input().split()]
a=[int(x) for x in list(input())]
counter=0
for i in range(n-x,n):
    if i==n-y-1:
        if a[i]==0:
            counter+=1
    else:
        if a[i]==1:
            counter+=1
print(counter)


def main():
    from sys import stdin, stdout

    def read():
        return stdin.readline().rstrip('\n')

    def read_array(sep=None, maxsplit=-1):
        return read().split(sep, maxsplit)

    def read_int():
        return int(read())

    def read_int_array(sep=None, maxsplit=-1):
        return [int(a) for a in read_array(sep, maxsplit)]

    def write(*args, **kwargs):
        sep = kwargs.get('sep', ' ')
        end = kwargs.get('end', '\n')
        stdout.write(sep.join(str(a) for a in args) + end)

    def write_array(array, **kwargs):
        sep = kwargs.get('sep', ' ')
        end = kwargs.get('end', '\n')
        stdout.write(sep.join(str(a) for a in array) + end)

    n, x, y = read_int_array()
    s = read()
    out = 0
    for i in range(x):
        if i != y and s[-1-i] == '1':
            out += 1
        elif i == y and s[-1-i] == '0':
            out += 1
    write(out)

main()


l = list(map(int,input().split()))
n = l[0]
x = l[1]
y = l[2]
s = input()
string = s[::-1]
count = 0
for i in range(y):
	if(string[i]=="1"):
		count+=1
if(string[y]=="0"):
	count+=1
for i in range(y+1,x):
	if(string[i]=="1"):
		count+=1
print(count)

n,x,y = list(map(int,input().split()))
s = input()

print(s[-x:].count('1') - (1 if s[-y-1]=='1' else -1))
#print(s[-x:],s[-x:].count('1'),1 if s[-y-1]=='1' else 0)



n,x,y=input().split()
ans=0
s=input()
s=s[::-1]
s=s[:int(x)]
for i in range(0,len(s)):
    if i==int(y):
        if s[i]=='0':
            ans+=1
    else :
        if s[i]=='1':
            ans+=1
            
print(ans)


IN = input
rint = lambda: int(IN())
rmint = lambda: map(int, IN().split())
rlist = lambda: list(rmint())

n, x, y = rmint()
t = list(map(int,list(IN())))
t.reverse()
t = t[:x]
t[y] = 1 - t[y]
print(sum(t))

n, x, y = map( int, input().split() )

s = input()

ans = 0

for i in range( x ):
    if s[ -(i + 1) ] != ( '1' if i == y else '0' ) :
        ans += 1

print( ans )

[n, x, y] = [int(i) for i in input().split()]
s = input()
t = ""
for i in range(x):
	t += s[len(s) - 1 - i]
ans = 0
for i in range(x):
	if y == i:
		ans += int(t[i] != '1')
	else:
		ans += int(t[i] != '0')
print (ans)

n,x,y=list(map(int,input().split()))
A=input()[-x:]
B=str(10**y).zfill(x)

ANS=0
for i in range(x):
    if A[i]!=B[i]:
        ANS+=1

print(ANS)


n, x, y = list(map(int,input().split()))
l = input()
wyn = 0
for i in range(n):
	j = n - 1 - i
	if i == x:
		break
	if i < y:
		if l[j] == '1':
			wyn += 1
	if i == y:
		if l[j] == '0':
			wyn += 1
	if i > y:
		if l[j] == '1':
			wyn += 1
print(wyn)

n,x,y=map(int,input().split())
a=input()
count=0
a=a[::-1]
for i in range(y):
    if a[i]=='1':
        count+=1
if a[y]=='0':
    count+=1
for i in range(y+1,x):
    if a[i]=='1':
        count+=1
print(count)

l=(input().split())
n=int(l[0])
x=int(l[1])
y=int(l[2])
num=input()
count=0
for i in range(n-1,n-x-1,-1):
	if i==(n-1-y):
		if num[i]=="0":
			count+=1
	else:
		if num[i]=="1":
			count+=1
print (count)

# stdin=open('input.txt')
from sys import stdin

def input():
	return stdin.readline()[:-1]


# # stdout=open('output.txt',mode='w+')

# # def print(x, end='\n'):
# # 	stdout.write(str(x) +end)


# # a, b = map(int, input().split())

# # l = list(map(int, input().split()))







# CODE BEGINS HERE.................


n, x, y = list(map(int, input().split()))
s = input()
ones = s[-1*x:].count('1') - (s[-1 * y - 1] == '1') + (s[-1 * y - 1] == '0')

print(ones)


#CODE ENDS HERE....................

#stdout.close()