






def __A    (      __lowerCAmelCase	)->  str:





						"""simple docstring"""



						if isinstance(__lowerCAmelCase ,		__lowerCAmelCase	):
												raise TypeError('\'float\' object cannot be interpreted as an integer'	)
						if isinstance(__lowerCAmelCase ,		__lowerCAmelCase	):
												raise TypeError('\'str\' object cannot be interpreted as an integer'	)

						if num == 0:
												return "0b0"

						_UpperCAmelCase									=			False

						if num < 0:
												_UpperCAmelCase									=			True
												_UpperCAmelCase									=			-num

						_UpperCAmelCase									=			[]
						while num > 0:
												binary.insert(0 ,		num % 2	)
												num >>= 1

						if negative:
												return "-0b" + "".join(str(__lowerCAmelCase	) for e in binary	)

						return "0b" + "".join(str(__lowerCAmelCase	) for e in binary	)


if __name__ == "__main__":
		import doctest

		doctest.testmod()








from __future__ import annotations


def __A    (      __lowerCAmelCase	)->  list[int]:





						"""simple docstring"""



						_UpperCAmelCase									=			2
						_UpperCAmelCase									=			[]
						while i * i <= n:
												if n % i:
																		i += 1
												else:
																		n //= i
																		factors.append(__lowerCAmelCase	)
						if n > 1:
												factors.append(__lowerCAmelCase	)
						return factors


if __name__ == "__main__":
		import doctest

		doctest.testmod()
