

"""simple docstring"""
def 					a__						(						lowerCAmelCase    )	-> str:
      if number > 0:
            raise ValueError("""input must be a negative integer"""    )
      UpperCAmelCase__			:							str							=    len(bin(lowerCAmelCase    )[3:]    )
      UpperCAmelCase__			:							str							=    bin(abs(lowerCAmelCase    ) - (1 << binary_number_length)    )[3:]
      UpperCAmelCase__			:							List[Any]							=    (
          (
              """1"""
              + """0""" * (binary_number_length - len(lowerCAmelCase    ))
              + twos_complement_number
          )
          if number < 0
          else """0"""
      )
      return "0b" + twos_complement_number


if __name__ == "__main__":
    import doctest

    doctest.testmod()




"""simple docstring"""
import math




def 					a__						(						lowerCAmelCase    )	-> list[int]:
      UpperCAmelCase__			:							Optional[int]							=    []
      UpperCAmelCase__			:							Union[str, Any]							=    2
      UpperCAmelCase__			:							List[Any]							=    int(math.sqrt(lowerCAmelCase    )    )  # Size of every segment
      UpperCAmelCase__			:							Dict							=    [True] * (end + 1)
      UpperCAmelCase__			:							str							=    []

      while start <= end:
            if temp[start] is True:
                  in_prime.append(lowerCAmelCase    )
                  for i in range(start * start			,	end + 1			,	lowerCAmelCase    ):
                        UpperCAmelCase__			:							Optional[Any]							=    False
            start += 1
      prime += in_prime

      UpperCAmelCase__			:							Optional[Any]							=    end + 1
      UpperCAmelCase__			:							Dict							=    min(2 * end			,	lowerCAmelCase    )

      while low <= n:
            UpperCAmelCase__			:							Optional[int]							=    [True] * (high - low + 1)
            for each in in_prime:
                  UpperCAmelCase__			:							Optional[int]							=    math.floor(low / each    ) * each
                  if t < low:
                        t += each

                  for j in range(lowerCAmelCase			,	high + 1			,	lowerCAmelCase    ):
                        UpperCAmelCase__			:							int							=    False

            for j in range(len(lowerCAmelCase    )    ):
                  if temp[j] is True:
                        prime.append(j + low    )

            UpperCAmelCase__			:							Dict							=    high + 1
            UpperCAmelCase__			:							int							=    min(high + end			,	lowerCAmelCase    )

      return prime





print(sieve(10**6))

