




from __future__ import annotations

# Define the Gravitational Constant G and the function
lowercase__   :    Optional[int] 					=      6.6_743E-11  # unit of G : m^3 * kg^-1 * s^-2

def       __lowerCamelCase							(     __UpperCamelCase	,      __UpperCamelCase	,      __UpperCamelCase	,      __UpperCamelCase)    ->  dict[str, float]:
     a											=   mass_a * mass_a

     if (force, mass_a, mass_a, distance).count(0) != 1:
          raise ValueError("One and only one argument must be 0")
     if force < 0:
          raise ValueError("Gravitational force can not be negative")
     if distance < 0:
          raise ValueError("Distance can not be negative")
     if mass_a < 0 or mass_a < 0:
          raise ValueError("Mass can not be negative")
     if force == 0:
          a											=   GRAVITATIONAL_CONSTANT * product_of_mass / (distance**2)
          return {"force": force}
     elif mass_a == 0:
          a											=   (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
          return {"mass_1": mass_a}
     elif mass_a == 0:
          a											=   (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
          return {"mass_2": mass_a}
     elif distance == 0:
          a											=   (GRAVITATIONAL_CONSTANT * product_of_mass / (force)) ** 0.5
          return {"distance": distance}
     raise ValueError("One and only one argument must be 0")


# Run doctest
if __name__ == "__main__":
   import doctest

   doctest.testmod()







from __future__ import annotations

def       SCREAMING_SNAKE_CASE							(     __UpperCamelCase)    ->  int | None:
     for r in range(1	,      __UpperCamelCase):
          a											=   []
          for x in range(n - 1):
               a											=   pow(__UpperCamelCase	,      __UpperCamelCase	,      __UpperCamelCase)
               if val in li:
                    break
               li.append(__UpperCamelCase)
          else:
               return r
     return None


if __name__ == "__main__":
   lowercase__   :    Tuple 					=      int(input("Enter a prime number q: "))
   lowercase__   :    List[Any] 					=      find_primitive(q)
   if a is None:
      print(F'Cannot find the primitive for the value: {a!r}')
   else:
      lowercase__   :    Any 					=      int(input("Enter private key of A: "))
      lowercase__   :    Optional[int] 					=      pow(a, a_private, q)
      lowercase__   :    Optional[Any] 					=      int(input("Enter private key of B: "))
      lowercase__   :    Any 					=      pow(a, b_private, q)

      lowercase__   :    Optional[Any] 					=      pow(b_public, a_private, q)
      lowercase__   :    List[str] 					=      pow(a_public, b_private, q)

      print("The key value generated by A is: ", a_secret)
      print("The key value generated by B is: ", b_secret)

