


_snake_case  :	Union[str, Any]			      =       [4, 1, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
_snake_case  :	Any			      =       [3, 7, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
_snake_case  :	Optional[Any]			      =       {
    0: "Sunday",
    1: "Monday",
    2: "Tuesday",
    3: "Wednesday",
    4: "Thursday",
    5: "Friday",
    6: "Saturday",
}







def        lowerCAmelCase_  (      __lowerCamelCase							,			__lowerCamelCase							,			__lowerCamelCase			):
       assert len(str(__lowerCamelCase			)			) > 2, "year should be in YYYY format"
       assert 1 <= month <= 1_2, "month should be between 1 to 12"
       assert 1 <= day <= 3_1, "day should be between 1 to 31"

       # Doomsday algorithm:
       __snake_case	:    int											=     year // 1_0_0
       __snake_case	:    Tuple											=     (5 * (century % 4) + 2) % 7
       __snake_case	:    Optional[Any]											=     year % 1_0_0
       __snake_case	:    List[Any]											=     centurian % 1_2
       __snake_case	:    List[str]											=     (
           (centurian // 1_2) + centurian_m + (centurian_m // 4) + century_anchor
       ) % 7
       __snake_case	:    str											=     (
           DOOMSDAY_NOT_LEAP[month - 1]
           if (year % 4 != 0) or (centurian == 0 and (year % 4_0_0) == 0)
           else DOOMSDAY_LEAP[month - 1]
       )
       __snake_case	:    List[str]											=     (dooms_day + day - day_anchor) % 7
       return WEEK_DAY_NAMES[week_day]


if __name__ == "__main__":
   import doctest

   doctest.testmod()





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

							__snake_case	:    Dict											=     str(bin(__lowerCamelCase			)			)
							binary_number += "0" * shift_amount
							return binary_number







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

							__snake_case	:    List[str]											=     str(bin(__lowerCamelCase			)			)[2:]
							if shift_amount >= len(__lowerCamelCase			):
														return "0b0"
							__snake_case	:    Union[str, Any]											=     binary_number[: len(__lowerCamelCase			) - shift_amount]
							return "0b" + shifted_binary_number







def        lowerCAmelCase_  (      __lowerCamelCase							,			__lowerCamelCase			):
							if number >= 0:  # Get binary representation of positive number
														__snake_case	:    Optional[int]											=     "0" + str(bin(__lowerCamelCase			)			).strip("-"			)[2:]
							else:  # Get binary (2's complement) representation of negative number
														__snake_case	:    Tuple											=     len(bin(__lowerCamelCase			)[3:]			)  # Find 2's complement of number
														__snake_case	:    Any											=     bin(abs(__lowerCamelCase			) - (1 << binary_number_length)			)[3:]
														__snake_case	:    Optional[Any]											=     (
														    "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()

