


from __future__ import annotations

lowercase_	   =     8.988E9  # units = N * m^s * C^-2
def 				UpperCamelCase__					(  SCREAMING_SNAKE_CASE__      ,	SCREAMING_SNAKE_CASE__      ,	SCREAMING_SNAKE_CASE__      ,	SCREAMING_SNAKE_CASE__						):
 __lowerCamelCase		:							Any		 =						abs(chargea * chargea						)

 if (force, chargea, chargea, distance).count(0						) != 1:
  raise ValueError('One and only one argument must be 0'						)
 if distance < 0:
  raise ValueError('Distance cannot be negative'						)
 if force == 0:
  __lowerCamelCase		:							Optional[Any]		 =						COULOMBS_CONSTANT * charge_product / (distance**2)
  return {"force": force}
 elif chargea == 0:
  __lowerCamelCase		:							Optional[Any]		 =						abs(SCREAMING_SNAKE_CASE__						) * (distance**2) / (COULOMBS_CONSTANT * chargea)
  return {"charge1": chargea}
 elif chargea == 0:
  __lowerCamelCase		:							List[str]		 =						abs(SCREAMING_SNAKE_CASE__						) * (distance**2) / (COULOMBS_CONSTANT * chargea)
  return {"charge2": chargea}
 elif distance == 0:
  __lowerCamelCase		:							str		 =						(COULOMBS_CONSTANT * charge_product / abs(SCREAMING_SNAKE_CASE__						)) ** 0.5
  return {"distance": distance}
 raise ValueError('Exactly one argument must be 0'						)


if __name__ == "__main__":
       import doctest

       doctest.testmod()





def 				UpperCamelCase__					(  SCREAMING_SNAKE_CASE__      ,	SCREAMING_SNAKE_CASE__						):
 __lowerCamelCase		:							Union[str, Any]		 =						len(SCREAMING_SNAKE_CASE__						)
 __lowerCamelCase		:							Any		 =						[[False] * (required_sum + 1) for _ in range(arr_len + 1						)]

 # for each arr value, a sum of zero(0) can be formed by not taking any element
 # hence True/1
 for i in range(arr_len + 1						):
  __lowerCamelCase		:							Dict		 =						True

 # sum is not zero and set is empty then false
 for i in range(1      ,	required_sum + 1						):
  __lowerCamelCase		:							Union[str, Any]		 =						False

 for i in range(1      ,	arr_len + 1						):
  for j in range(1      ,	required_sum + 1						):
   if arr[i - 1] > j:
    __lowerCamelCase		:							Tuple		 =						subset[i - 1][j]
   if arr[i - 1] <= j:
    __lowerCamelCase		:							List[Any]		 =						subset[i - 1][j] or subset[i - 1][j - arr[i - 1]]

 return subset[arr_len][required_sum]


if __name__ == "__main__":
       import doctest

       doctest.testmod()

