




import math



def 						lowerCAmelCase		(		_lowerCAmelCase							:   float						,							_lowerCAmelCase							:   float	):




 """simple docstring"""







 if initial_intensity < 0:
  raise ValueError("The value of intensity cannot be negative"	)
  # handling of negative values of initial intensity
 if angle < 0 or angle > 360:
  raise ValueError("In Malus Law, the angle is in the range 0-360 degrees"	)
  # handling of values out of allowed range
 return initial_intensity * (math.cos(math.radians(_lowercase	)	) ** 2)


if __name__ == "__main__":
  import doctest

  doctest.testmod(name="malus_law")











from __future__ import annotations



def 						lowerCAmelCase		(		_lowerCAmelCase							:   int = 4	):




 """simple docstring"""







 UpperCAmelCase__							 =						abs(_lowerCAmelCase	) or 4
 return [[1 + x + y * row_size for x in range(_lowerCAmelCase	)] for y in range(_lowerCAmelCase	)]



def 						lowerCAmelCase		(		_lowerCAmelCase							:   list[list[int]]	):




 """simple docstring"""







 return reverse_row(transpose(_lowerCAmelCase	)	)
 # OR.. transpose(reverse_column(matrix))



def 						lowerCAmelCase		(		_lowerCAmelCase							:   list[list[int]]	):




 """simple docstring"""







 return reverse_row(reverse_column(_lowerCAmelCase	)	)
 # OR.. reverse_column(reverse_row(matrix))



def 						lowerCAmelCase		(		_lowerCAmelCase							:   list[list[int]]	):




 """simple docstring"""







 return reverse_column(transpose(_lowerCAmelCase	)	)
 # OR.. transpose(reverse_row(matrix))



def 						lowerCAmelCase		(		_lowerCAmelCase							:   list[list[int]]	):




 """simple docstring"""







 UpperCAmelCase__							 =						[list(_lowerCAmelCase	) for x in zip(*_lowerCAmelCase	)]
 return matrix



def 						lowerCAmelCase		(		_lowerCAmelCase							:   list[list[int]]	):




 """simple docstring"""







 UpperCAmelCase__							 =						matrix[::-1]
 return matrix



def 						lowerCAmelCase		(		_lowerCAmelCase							:   list[list[int]]	):




 """simple docstring"""







 UpperCAmelCase__							 =						[x[::-1] for x in matrix]
 return matrix



def 						lowerCAmelCase		(		_lowerCAmelCase							:   list[list[int]]	):




 """simple docstring"""







 for i in matrix:
  print(*_lowerCAmelCase	)


if __name__ == "__main__":
  _lowerCAmelCase						:   Optional[int]		=   make_matrix()
  print("\norigin:\n")
  print_matrix(matrix)
  print("\nrotate 90 counterclockwise:\n")
  print_matrix(rotate_aa(matrix))

  _lowerCAmelCase						:   Union[str, Any]		=   make_matrix()
  print("\norigin:\n")
  print_matrix(matrix)
  print("\nrotate 180:\n")
  print_matrix(rotate_aaa(matrix))

  _lowerCAmelCase						:   Optional[int]		=   make_matrix()
  print("\norigin:\n")
  print_matrix(matrix)
  print("\nrotate 270 counterclockwise:\n")
  print_matrix(rotate_aaa(matrix))





