





'''simple docstring'''




from __future__ import annotations





def 	__lowerCamelCase			(      __lowerCAmelCase       :							int = 4		)		->  list[list[int]]:
   snake_case 						=   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]]		)		->  list[list[int]]:
   return reverse_row(transpose(__lowerCAmelCase		)		)
   # OR.. transpose(reverse_column(matrix))





def 	__lowerCamelCase			(      __lowerCAmelCase       :							list[list[int]]		)		->  list[list[int]]:
   return reverse_row(reverse_column(__lowerCAmelCase		)		)
   # OR.. reverse_column(reverse_row(matrix))





def 	__lowerCamelCase			(      __lowerCAmelCase       :							list[list[int]]		)		->  list[list[int]]:
   return reverse_column(transpose(__lowerCAmelCase		)		)
   # OR.. transpose(reverse_row(matrix))





def 	__lowerCamelCase			(      __lowerCAmelCase       :							list[list[int]]		)		->  list[list[int]]:
   snake_case 						=   [list(__lowerCAmelCase		) for x in zip(*__lowerCAmelCase		)]
   return matrix





def 	__lowerCamelCase			(      __lowerCAmelCase       :							list[list[int]]		)		->  list[list[int]]:
   snake_case 						=   matrix[::-1]
   return matrix





def 	__lowerCamelCase			(      __lowerCAmelCase       :							list[list[int]]		)		->  list[list[int]]:
   snake_case 						=   [x[::-1] for x in matrix]
   return matrix





def 	__lowerCamelCase			(      __lowerCAmelCase       :							list[list[int]]		)		->  None:
   for i in matrix:
      print(*__lowerCAmelCase		)


if __name__ == "__main__":
 _SCREAMING_SNAKE_CASE							     =			make_matrix()
 print("\norigin:\n")
 print_matrix(matrix)
 print("\nrotate 90 counterclockwise:\n")
 print_matrix(rotate_aa(matrix))

 _SCREAMING_SNAKE_CASE							     =			make_matrix()
 print("\norigin:\n")
 print_matrix(matrix)
 print("\nrotate 180:\n")
 print_matrix(rotate_aaa(matrix))

 _SCREAMING_SNAKE_CASE							     =			make_matrix()
 print("\norigin:\n")
 print_matrix(matrix)
 print("\nrotate 270 counterclockwise:\n")
 print_matrix(rotate_aaa(matrix))








'''simple docstring'''




from __future__ import annotations





def 	__lowerCamelCase			(      __lowerCAmelCase       :							float      ,    __lowerCAmelCase       :							float      ,    __lowerCAmelCase       :							float		)		->  float:
   if days_between_payments <= 0:
      raise ValueError("""days_between_payments must be > 0"""		)
   if daily_interest_rate < 0:
      raise ValueError("""daily_interest_rate must be >= 0"""		)
   if principal <= 0:
      raise ValueError("""principal must be > 0"""		)
   return principal * daily_interest_rate * days_between_payments





def 	__lowerCamelCase			(      __lowerCAmelCase       :							float      ,    __lowerCAmelCase       :							float      ,    __lowerCAmelCase       :							float      ,    )		->  float:
   if number_of_compounding_periods <= 0:
      raise ValueError("""number_of_compounding_periods must be > 0"""		)
   if nominal_annual_interest_rate_percentage < 0:
      raise ValueError("""nominal_annual_interest_rate_percentage must be >= 0"""		)
   if principal <= 0:
      raise ValueError("""principal must be > 0"""		)

   return principal * (
       (1 + nominal_annual_interest_rate_percentage) ** number_of_compounding_periods
       - 1
   )





def 	__lowerCamelCase			(      __lowerCAmelCase       :							float      ,    __lowerCAmelCase       :							float      ,    __lowerCAmelCase       :							float      ,    )		->  float:
   if number_of_years <= 0:
      raise ValueError("""number_of_years must be > 0"""		)
   if nominal_annual_percentage_rate < 0:
      raise ValueError("""nominal_annual_percentage_rate must be >= 0"""		)
   if principal <= 0:
      raise ValueError("""principal must be > 0"""		)

   return compound_interest(
       __lowerCAmelCase      ,    nominal_annual_percentage_rate / 3_65      ,    number_of_years * 3_65		)


if __name__ == "__main__":
 import doctest

 doctest.testmod()

