def solve(f, min, max)
middle = 0
while(min != max) do
middle = (min+max)/2
if (f(middle)>0)
max = middle
else
min = middle
end
return middle
end
p solve(1, -1000, 1000)
ZGVmIHNvbHZlKGYsIG1pbiwgbWF4KQogICBtaWRkbGUgPSAwCiAgIHdoaWxlKG1pbiAhPSBtYXgpIGRvCiAgICAgICBtaWRkbGUgPSAobWluK21heCkvMgogICAgICAgaWYgKGYobWlkZGxlKT4wKQogICAgICAgICAgIG1heCA9IG1pZGRsZQogICAgICAgZWxzZQogICAgICAgICAgIG1pbiA9IG1pZGRsZQogICBlbmQKICAgcmV0dXJuIG1pZGRsZQplbmQKCgpwIHNvbHZlKDEsIC0xMDAwLCAxMDAwKQo=