local mfl, mce = math.floor, math.ceil local n, k = io.read("*n", "*n", "*l") local s = io.read() local t = {} for i = 1, n do t[i] = s:byte(i) - 48 end local function sub(x) local rem = x % n local a = mfl(x / n) local z = 0 for i = 1, n do if 0 < rem and i <= rem then z = z + (a + 1) * t[i] else z = z + a * t[i] end end return z end local function solve(x) local add = 0 local px = x local z = sub(px) while add ~= z do if 1000 < add then return true end add = z px = x + z z = sub(px) end return k <= x + add end local min, max = 0, k while 1 < max - min do local mid = mfl((min + max) / 2) if solve(mid) then max = mid else min = mid end end print(max)