import scala.io.{StdIn => in}
import scala.collection.{mutable => mu}

object Main extends App {
  val Array(n,k) = in.readLine.split(" ").map(_.toInt)
  val s = in.readLine.toArray.map(_ - '0')
  val buf0 = mu.ArrayBuffer.empty[Int]
  val buf1 = mu.ArrayBuffer.empty[Int]
  var cnt0 = 0
  var cnt1 = 0
  for(i <- 0 until n) {
    if(s(i) == 0) cnt0 += 1
    else if(s(i) == 1 && cnt0 > 0) {
      buf0.append(cnt0)
      cnt0 = 0
    }
    if(s(i) == 1) cnt1 += 1
    else if(s(i) == 0 && cnt1 > 0) {
      buf1.append(cnt1)
      cnt1 = 0
    }
  }

  if(s.last == 0) buf0.append(cnt0) else buf1.append(cnt1)

  var res = 0
  for(i <- 0 to buf0.size - k) {
    res = res max (buf1.slice(i,i+k+1).sum + buf0.slice(i,i+k).sum)
    // debug(buf1.slice(i,i+k+1).sum, buf0.slice(i,i+k).sum)
  }
  val ans = res
  println(ans)

  def debug(any:Any*):Unit = {
    if(this.getClass.toString != "class Main$")
      println(any.mkString(" "))
  }
}