





"""simple docstring"""





def 		lowerCAmelCase_	(  lowercase_   :							int		):

 '''simple docstring'''






 if number != int(lowercase_		):
  raise ValueError('''factorial() only accepts integral values'''		)
 if number < 0:
  raise ValueError('''factorial() not defined for negative values'''		)
 __SCREAMING_SNAKE_CASE :			List[Any]												=       1
 for i in range(1 ,      number + 1		):
  value *= i
 return value




def 		lowerCAmelCase_	(  lowercase_   :							int		):

 '''simple docstring'''






 if not isinstance(lowercase_ ,      lowercase_		):
  raise ValueError('''factorial() only accepts integral values'''		)
 if n < 0:
  raise ValueError('''factorial() not defined for negative values'''		)
 return 1 if n == 0 or n == 1 else n * factorial(n - 1		)


if __name__ == "__main__":
    import doctest

    doctest.testmod()

    _lowerCamelCase       =	int(input('''Enter a positive integer: ''').strip() or 0)
    print(f'factorial{n} is {factorial(n)}')



from math import cos, sin







def 				A__    (  lowerCamelCase  )     ->		list[list[float]]:
				UpperCamelCase_:							int		=  float(lowerCamelCase  )
				return [[scaling_factor * int(x == y  ) for x in range(2  )] for y in range(2  )]







def 				A__    (  lowerCamelCase  )     ->		list[list[float]]:
				UpperCamelCase_,      UpperCamelCase_:							Union[str, Any]		=  cos(lowerCamelCase  ), sin(lowerCamelCase  )
				return [[c, -s], [s, c]]







def 				A__    (  lowerCamelCase  )     ->		list[list[float]]:
				UpperCamelCase_,      UpperCamelCase_:							Any		=  cos(lowerCamelCase  ), sin(lowerCamelCase  )
				UpperCamelCase_:							List[Any]		=  c * s
				return [[c * c, cs], [cs, s * s]]







def 				A__    (  lowerCamelCase  )     ->		list[list[float]]:
				UpperCamelCase_,      UpperCamelCase_:							List[str]		=  cos(lowerCamelCase  ), sin(lowerCamelCase  )
				UpperCamelCase_:							int		=  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) = }""")






