
"""simple docstring"""


from __future__ import annotations

import sys






def        lowerCAmelCase_       (		snake_case_		:      int							,   snake_case_		:      int      )       ->tuple[int, int]:
			# base cases
			if abs(snake_case_      ) == 1:
						return a, 0
			elif abs(snake_case_      ) == 1:
						return 0, b

			lowerCamelCase__	,    lowerCamelCase__     :					str		=a, b
			lowerCamelCase__	,    lowerCamelCase__     :					List[str]		=1, 0
			lowerCamelCase__	,    lowerCamelCase__     :					Optional[Any]		=0, 1

			while remainder != 0:
						lowerCamelCase__     :					List[Any]		=old_remainder // remainder
						lowerCamelCase__	,    lowerCamelCase__     :					Any		=remainder, old_remainder - quotient * remainder
						lowerCamelCase__	,    lowerCamelCase__     :					Optional[Any]		=coeff_a, old_coeff_a - quotient * coeff_a
						lowerCamelCase__	,    lowerCamelCase__     :					int		=coeff_b, old_coeff_b - quotient * coeff_b

			# sign correction for negative numbers
			if a < 0:
						lowerCamelCase__     :					int		=-old_coeff_a
			if b < 0:
						lowerCamelCase__     :					str		=-old_coeff_b

			return old_coeff_a, old_coeff_b






def        lowerCAmelCase_       (		)       ->Union[str, Any]:
			if len(sys.argv      ) < 3:
						print('2 integer arguments required'      )
						return 1
			lowerCamelCase__     :					List[str]		=int(sys.argv[1]      )
			lowerCamelCase__     :					List[Any]		=int(sys.argv[2]      )
			print(extended_euclidean_algorithm(snake_case_							,   snake_case_      )      )
			return 0


if __name__ == "__main__":
							raise SystemExit(main())

"""simple docstring"""


from math import cos, sin






def        lowerCAmelCase_       (		snake_case_		:      float      )       ->list[list[float]]:
			lowerCamelCase__     :					List[Any]		=float(snake_case_      )
			return [[scaling_factor * int(x == y      ) for x in range(2      )] for y in range(2      )]






def        lowerCAmelCase_       (		snake_case_		:      float      )       ->list[list[float]]:
			lowerCamelCase__	,    lowerCamelCase__     :					Union[str, Any]		=cos(snake_case_      ), sin(snake_case_      )
			return [[c, -s], [s, c]]






def        lowerCAmelCase_       (		snake_case_		:      float      )       ->list[list[float]]:
			lowerCamelCase__	,    lowerCamelCase__     :					Optional[Any]		=cos(snake_case_      ), sin(snake_case_      )
			lowerCamelCase__     :					Dict		=c * s
			return [[c * c, cs], [cs, s * s]]






def        lowerCAmelCase_       (		snake_case_		:      float      )       ->list[list[float]]:
			lowerCamelCase__	,    lowerCamelCase__     :					str		=cos(snake_case_      ), sin(snake_case_      )
			lowerCamelCase__     :					Dict		=c * s
			return [[2 * c - 1, 2 * cs], [2 * cs, 2 * s - 1]]


print(f"""    {scaling(5) = }""")
print(f"""  {rotation(45) = }""")
print(f"""{projection(45) = }""")

print(f"""{reflection(45) = }""")