


def 	__lowerCamelCase						(							lowerCamelCase__		:						int  ,							lowerCamelCase__		:						int      ):





			'''simple docstring'''




			if number < 0 or shift_amount < 0:
						raise ValueError("""both inputs must be positive integers"""      )

			lowerCamelCase    		=  str(bin(lowerCamelCase__      )      )
			binary_number += "0" * shift_amount
			return binary_number






def 	__lowerCamelCase						(							lowerCamelCase__		:						int  ,							lowerCamelCase__		:						int      ):





			'''simple docstring'''




			if number < 0 or shift_amount < 0:
						raise ValueError("""both inputs must be positive integers"""      )

			lowerCamelCase    		=  str(bin(lowerCamelCase__      )      )[2:]
			if shift_amount >= len(lowerCamelCase__      ):
						return "0b0"
			lowerCamelCase    		=  binary_number[: len(lowerCamelCase__      ) - shift_amount]
			return "0b" + shifted_binary_number






def 	__lowerCamelCase						(							lowerCamelCase__		:						int  ,							lowerCamelCase__		:						int      ):





			'''simple docstring'''




			if number >= 0:  # Get binary representation of positive number
						lowerCamelCase    		=  """0""" + str(bin(lowerCamelCase__      )      ).strip("""-"""      )[2:]
			else:  # Get binary (2's complement) representation of negative number
						lowerCamelCase    		=  len(bin(lowerCamelCase__      )[3:]      )  # Find 2's complement of number
						lowerCamelCase    		=  bin(abs(lowerCamelCase__      ) - (1 << binary_number_length)      )[3:]
						lowerCamelCase    		=  (
						    """1""" + """0""" * (binary_number_length - len(lowerCamelCase__      )) + binary_number
						)

			if shift_amount >= len(lowerCamelCase__      ):
						return "0b" + binary_number[0] * len(lowerCamelCase__      )
			return (
			    "0b"
			    + binary_number[0] * shift_amount
			    + binary_number[: len(lowerCamelCase__      ) - shift_amount]
			)


if __name__ == "__main__":
		import doctest

		doctest.testmod()





import random
from typing import Any






def 	__lowerCamelCase						(							lowerCamelCase__		:						list      ):





			'''simple docstring'''




			for _ in range(len(lowerCamelCase__      )      ):
						lowerCamelCase    		=  random.randint(0  ,							len(lowerCamelCase__      ) - 1      )
						lowerCamelCase    		=  random.randint(0  ,							len(lowerCamelCase__      ) - 1      )
						lowerCamelCase		,		lowerCamelCase    		=  data[b], data[a]
			return data


if __name__ == "__main__":
		UpperCAmelCase   :    str     =		[0, 1, 2, 3, 4, 5, 6, 7]
		UpperCAmelCase   :    Union[str, Any]     =		["python", "says", "hello", "!"]
		print("Fisher-Yates Shuffle:")
		print("List", integers, strings)
		print("FY Shuffle", fisher_yates_shuffle(integers), fisher_yates_shuffle(strings))

