output_description: Print the maximum possible number of consecutive people standing on hands
  after at most K directions.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N K
      S
attempt: N, K = map(int, input().split())
  S = str(input())
  list_0 = []
  list_1 = []
  c_0 = 0
  c_1 = 0
  for i in range(N):
      if S[i] == "0":
          c_0 += 1
          if c_1 != 0:
              list_1 += [c_1]
          c_1 = 0
      elif S[i] == "1":
          c_1 += 1
          if c_0 != 0:
              list_0 += [c_0]
          c_0 = 0
      if i == N - 1:
          if c_0 != 0:
              list_0 += [c_0]
          elif c_1 != 0:
              list_1 += [c_1]
  result = 0
  
  if len(list_0) <= K:
      result = N
  else:
      if S[0] == "1" and S[-1] == "1":
          for i in range(len(list_1) - K):
              result = max(result, sum(list_1[i : i + K + 1]) + sum(list_0[i : i + K]))
  
      elif S[0] == "1" and S[-1] == "0":
          result = sum(list_1[-K:]) + sum(list_0[-K:])
          for i in range(len(list_1) - K):
              result = max(result, sum(list_1[i : i + K + 1]) + sum(list_0[i : i + K]))
  
      elif S[0] == "0" and S[-1] == "0":
          result = max(
              sum(list_0[:K]) + sum(list_1[:K]), sum(list_0[-K:]) + sum(list_1[-K:])
          )
          for i in range(len(list_1) - K - 1):
              result = max(
                  result, sum(list_1[i : i + K + 2]) + sum(list_0[i + 1 : i + K + 2])
              )
  
      elif S[0] == "0" and S[-1] == "1":
          result = sum(list_0[:K]) + sum(list_1[:K])
          for i in range(len(list_1) - K - 1):
              result = max(
                  result, sum(list_1[i : i + K + 2]) + sum(list_0[i + 1 : i + K + 2])
              )
  print(result)
  
problem_description: Statement
  
  N people are arranged in a row from left to right.
  
  You are given a string S of length N consisting of `0` and `1`, and a positive
  integer K.
  
  The i-th person from the left is standing on feet if the i-th character of S
  is `0`, and standing on hands if that character is `1`.
  
  You will give the following direction at most K times (possibly zero):
  
  **Direction** : Choose integers l and r satisfying 1 \leq l \leq r \leq N, and
  flip the l-th, (l+1)-th, ..., and r-th persons. That is, for each i = l, l+1,
  ..., r, the i-th person from the left now stands on hands if he/she was
  standing on feet, and stands on feet if he/she was standing on hands.
  
  Find the maximum possible number of **consecutive** people standing on hands
  after at most K directions.
samples: [{"input": "5 1\n    00010", "output": "4\n    \n\nWe can have four consecutive people standing on hands, which is the maximum\nresult, by giving the following direction:\n\n  * Give the direction with l = 1, r = 3, which flips the first, second and third persons from the left.\n\n* * *"}, {"input": "14 2\n    11101010110011", "output": "8\n    \n\n* * *"}, {"input": "1 1\n    1", "output": "1\n    \n\nNo directions are necessary."}]