

"""simple docstring"""
from math import cos, sin




def 				a__	(	lowerCAmelCase						)  ->   list[list[float]]:
      UpperCAmelCase__ :       str						=						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__ :       str						=						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__ :       Optional[int]						=						cos(lowerCAmelCase						), sin(lowerCAmelCase						)
      UpperCAmelCase__ :       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) = }''')




"""simple docstring"""
from __future__ import annotations




def 				a__	(	lowerCAmelCase						)  ->   set[int]:
      UpperCAmelCase__ :       List[Any]						=						{1}
      UpperCAmelCase__ :       Optional[int]						=						[1]
      for _ in range(2 ,  depth + 1						):
            UpperCAmelCase__ :       Tuple						=						[*previous_coefficients, 0]
            UpperCAmelCase__ :       List[str]						=						[0, *previous_coefficients]
            UpperCAmelCase__ :       Dict						=						[]
            for x, y in zip(lowerCAmelCase ,  lowerCAmelCase						):
                  coefficients.add(x + y						)
                  previous_coefficients.append(x + y						)
      return coefficients




def 				a__	(	lowerCAmelCase						)  ->   set[int]:
      UpperCAmelCase__ :       List[str]						=						set()
      for number in unique_coefficients:
            UpperCAmelCase__ :       int						=						2
            UpperCAmelCase__ :       List[Any]						=						number
            while divisor**2 <= copy_number:
                  UpperCAmelCase__ :       Tuple						=						0
                  while copy_number % divisor == 0:
                        copy_number //= divisor
                        multiplicity += 1
                  if multiplicity >= 2:
                        non_squarefrees.add(lowerCAmelCase						)
                        break
                  divisor += 1

      return unique_coefficients.difference(lowerCAmelCase						)




def 				a__	(	lowerCAmelCase = 51						)  ->   int:
      UpperCAmelCase__ :       Any						=						get_pascal_triangle_unique_coefficients(lowerCAmelCase						)
      UpperCAmelCase__ :       Dict						=						get_squarefrees(lowerCAmelCase						)
      return sum(lowerCAmelCase						)


if __name__ == "__main__":
    print(f'''{solution() = }''')

