code: 
  
  
  from math import radians as angle_to_radians
  from math import sin
  
  # Acceleration Constant on Earth (unit m/s^2)
  SCREAMING_SNAKE_CASE : int          =    9.8_06_65
  
  
  
  
  
  def 						_lowerCamelCase		(							SCREAMING_SNAKE_CASE_				: float	,	SCREAMING_SNAKE_CASE_				: float      ):
  
  
  
  
  
  
  							"""simple docstring"""
  
  
  
  							if not isinstance(SCREAMING_SNAKE_CASE_	,	(int, float)      ):
  														raise TypeError("""Invalid velocity. Should be a positive number."""      )
  
  							if not isinstance(SCREAMING_SNAKE_CASE_	,	(int, float)      ):
  														raise TypeError("""Invalid angle. Range is 1-90 degrees."""      )
  
  							# Ensure valid angle
  							if angle > 90 or angle < 1:
  														raise ValueError("""Invalid angle. Range is 1-90 degrees."""      )
  
  							# Ensure valid velocity
  							if init_velocity < 0:
  														raise ValueError("""Invalid velocity. Should be a positive number."""      )
  
  
  
  
  
  def 						_lowerCamelCase		(							SCREAMING_SNAKE_CASE_				: float	,	SCREAMING_SNAKE_CASE_				: float      ):
  
  
  
  
  
  
  							"""simple docstring"""
  
  
  
  							check_args(SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_      )
  							a_       :   int			=	angle_to_radians(2 * angle      )
  							return round(init_velocity**2 * sin(SCREAMING_SNAKE_CASE_      ) / g	,	2      )
  
  
  
  
  
  def 						_lowerCamelCase		(							SCREAMING_SNAKE_CASE_				: float	,	SCREAMING_SNAKE_CASE_				: float      ):
  
  
  
  
  
  
  							"""simple docstring"""
  
  
  
  							check_args(SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_      )
  							a_       :   List[Any]			=	angle_to_radians(SCREAMING_SNAKE_CASE_      )
  							return round(init_velocity**2 * sin(SCREAMING_SNAKE_CASE_      ) ** 2 / (2 * g)	,	2      )
  
  
  
  
  
  def 						_lowerCamelCase		(							SCREAMING_SNAKE_CASE_				: float	,	SCREAMING_SNAKE_CASE_				: float      ):
  
  
  
  
  
  
  							"""simple docstring"""
  
  
  
  							check_args(SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_      )
  							a_       :   Tuple			=	angle_to_radians(SCREAMING_SNAKE_CASE_      )
  							return round(2 * init_velocity * sin(SCREAMING_SNAKE_CASE_      ) / g	,	2      )
  
  
  
  
  
  def 						_lowerCamelCase		(							):
  
  
  
  
  
  
  							"""simple docstring"""
  
  
  
  							a_		,				a_       :   Any			=	25, 20
  							assert horizontal_distance(SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_      ) == 40.97
  							assert max_height(SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_      ) == 3.73
  							assert total_time(SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_      ) == 1.74
  
  
  if __name__ == "__main__":
  	from doctest import testmod
  
  	testmod()
  
  	# Get input from user
  	SCREAMING_SNAKE_CASE : str          =    float(input("Initial Velocity: ").strip())
  
  	# Get input from user
  	SCREAMING_SNAKE_CASE : int          =    float(input("angle: ").strip())
  
  	# Print results
  	print()
  	print("Results: ")
  	print(F"""Horizontal Distance: {horizontal_distance(init_vel, angle)!s} [m]""")
  	print(F"""Maximum Height: {max_height(init_vel, angle)!s} [m]""")
  	print(F"""Total Time: {total_time(init_vel, angle)!s} [s]""")
  
  
  
style_context: 
  
  
  def 						_lowerCamelCase		(							SCREAMING_SNAKE_CASE_				: list[int]      ):
  
  
  
  
  
  
  							"""simple docstring"""
  
  
  
  							a_       :   List[Any]			=	len(SCREAMING_SNAKE_CASE_      )
  							if n in (0, 1):
  														return 0
  							return sum(query * (n - i - 1) for i, query in enumerate(sorted(SCREAMING_SNAKE_CASE_      )      )      )
  
  
  if __name__ == "__main__":
  	import doctest
  
  	doctest.testmod()
  
  
  