






"""simple docstring"""






def 						_UpperCamelCase			(  A    ,       A			):
   if not root or root not in binary_tree_mirror_dictionary:
      return
   UpperCamelCase_    ,							UpperCamelCase_     =binary_tree_mirror_dictionary[root][:2]
   UpperCamelCase_     =[right_child, left_child]
   binary_tree_mirror_dict(A    ,       A			)
   binary_tree_mirror_dict(A    ,       A			)




def 						_UpperCamelCase			(  A    ,       A = 1			):
   if not binary_tree:
      raise ValueError("binary tree cannot be empty"			)
   if root not in binary_tree:
      UpperCamelCase_     =f"""root {root} is not present in the binary_tree"""
      raise ValueError(A			)
   UpperCamelCase_     =dict(A			)
   binary_tree_mirror_dict(A    ,       A			)
   return binary_tree_mirror_dictionary


if __name__ == "__main__":
    A_			  =    {1: [2, 3], 2: [4, 5], 3: [6, 7], 7: [8, 9]}
    print(f'''Binary tree: {binary_tree}''')
    A_			  =    binary_tree_mirror(binary_tree, 5)
    print(f'''Binary tree mirror: {binary_tree_mirror_dictionary}''')








"""simple docstring"""






from math import radians as angle_to_radians
from math import sin

# Acceleration Constant on Earth (unit m/s^2)
A_			  =    9.80665




def 						_UpperCamelCase			(  A    ,       A			):

   # Ensure valid instance
   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    ,       A			):
   check_args(A    ,       A			)
   UpperCamelCase_     =angle_to_radians(2 * angle			)
   return round(init_velocity**2 * sin(A			) / g    ,       2			)




def 						_UpperCamelCase			(  A    ,       A			):
   check_args(A    ,       A			)
   UpperCamelCase_     =angle_to_radians(A			)
   return round(init_velocity**2 * sin(A			) ** 2 / (2 * g)    ,       2			)




def 						_UpperCamelCase			(  A    ,       A			):
   check_args(A    ,       A			)
   UpperCamelCase_     =angle_to_radians(A			)
   return round(2 * init_velocity * sin(A			) / g    ,       2			)




def 						_UpperCamelCase			(  ):
   UpperCamelCase_    ,							UpperCamelCase_     =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
    A_			  =    float(input("Initial Velocity: ").strip())

    # Get input from user
    A_			  =    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]''')
