https://www.codinginterview.net/2023/06/first-bad-version.html