code: 
  
  from math import radians as angle_to_radians
  from math import sin
  
  # Acceleration Constant on Earth (unit m/s^2)
  lowerCamelCase     =      9.80665
  
  
  
  
  def     UpperCAmelCase__       (    _A   :				float			,   _A   :				float							):
  
  
  
  
  
    '''simple docstring'''
  
  
  
  
  
  
  
    if not isinstance(_A			,   (int, float)							):
      raise TypeError('''Invalid velocity. Should be a positive number.'''							)
  
    if not isinstance(_A			,   (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     UpperCAmelCase__       (    _A   :				float			,   _A   :				float							):
  
  
  
  
  
    '''simple docstring'''
  
  
  
  
  
  
  
    check_args(_A			,   _A							)
    a__						=angle_to_radians(2 * angle							)
    return round(init_velocity**2 * sin(_A							) / g			,   2							)
  
  
  
  
  def     UpperCAmelCase__       (    _A   :				float			,   _A   :				float							):
  
  
  
  
  
    '''simple docstring'''
  
  
  
  
  
  
  
    check_args(_A			,   _A							)
    a__						=angle_to_radians(_A							)
    return round(init_velocity**2 * sin(_A							) ** 2 / (2 * g)			,   2							)
  
  
  
  
  def     UpperCAmelCase__       (    _A   :				float			,   _A   :				float							):
  
  
  
  
  
    '''simple docstring'''
  
  
  
  
  
  
  
    check_args(_A			,   _A							)
    a__						=angle_to_radians(_A							)
    return round(2 * init_velocity * sin(_A							) / g			,   2							)
  
  
  
  
  def     UpperCAmelCase__       (    ):
  
  
  
  
  
    '''simple docstring'''
  
  
  
  
  
  
  
    a__,   a__						=25, 20
    assert horizontal_distance(_A			,   _A							) == 40.97
    assert max_height(_A			,   _A							) == 3.73
    assert total_time(_A			,   _A							) == 1.74
  
  
  if __name__ == "__main__":
         from doctest import testmod
  
         testmod()
  
         # Get input from user
         lowerCamelCase     =      float(input('''Initial Velocity: ''').strip())
  
         # Get input from user
         lowerCamelCase     =      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: 
  
  import math
  from decimal import Decimal, getcontext
  
  
  
  
  def     UpperCAmelCase__       (    _A   :				int = 4_00_00_00							):
  
  
  
  
  
    '''simple docstring'''
  
  
  
  
  
  
  
    try:
      a__						=int(_A							)
    except (TypeError, ValueError):
      raise TypeError('''Parameter n must be int or castable to int.'''							)
    if n <= 0:
      raise ValueError('''Parameter n must be greater than or equal to one.'''							)
    a__						=1_00
    a__						=(Decimal(5							) ** Decimal(0.5							) + 1) / Decimal(2							)
  
    a__						=(math.floor(math.log(n * (phi + 2)			,   _A							) - 1							) // 3) * 3 + 2
    a__						=Decimal(round(phi ** Decimal(index + 1							)							)							) / (phi + 2)
    a__						=num // 2
    return int(_A							)
  
  
  if __name__ == "__main__":
         print(f"""{solution() = }""")
  