



'''simple docstring'''

from itertools import count



def      __lowerCamelCase     (      lowerCAmelCase_ = 50  )			->      int:
		_a     :      Dict        =							[1] * min_block_length

		for n in count(__UpperCAmelCase  ):
				fill_count_functions.append(1  )

				for block_length in range(__UpperCAmelCase						,			n + 1  ):
						for block_start in range(n - block_length  ):
								fill_count_functions[n] += fill_count_functions[
								    n - block_start - block_length - 1
								]

						fill_count_functions[n] += 1

				if fill_count_functions[n] > 1000000:
						break

		return n


if __name__ == "__main__":
							print(f"""{solution() = }""")











def 		lowerCAmelCase_    (  __UpperCAmelCase:			int      )      ->	int:
    if not isinstance(__UpperCAmelCase		,   __UpperCAmelCase      ) or number < 0:
        raise ValueError('''Input must be a non-negative integer'''      )

    UpperCamelCase__							:				Optional[Any]          =      0
    while number:
        # This way we arrive at next set bit (next 1) instead of looping
        # through each bit and checking for 1s hence the
        # loop won't run 32 times it will only run the number of `1` times
        number &= number - 1
        count += 1
    return count


if __name__ == "__main__":
  import doctest

  doctest.testmod()

