
"""simple docstring"""





from __future__ import annotations

_a														=		8.988E9  # units = N * m^s * C^-2



def       lowerCamelCase__		(			__snake_case,     __snake_case,     __snake_case,     __snake_case	)							->		dict[str, float]:


					"""simple docstring"""





					_UpperCamelCase							 =  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:
										_UpperCamelCase							 =  COULOMBS_CONSTANT * charge_product / (distance**2)
										return {"force": force}
					elif chargea == 0:
										_UpperCamelCase							 =  abs(__snake_case	) * (distance**2) / (COULOMBS_CONSTANT * chargea)
										return {"charge1": chargea}
					elif chargea == 0:
										_UpperCamelCase							 =  abs(__snake_case	) * (distance**2) / (COULOMBS_CONSTANT * chargea)
										return {"charge2": chargea}
					elif distance == 0:
										_UpperCamelCase							 =  (COULOMBS_CONSTANT * charge_product / abs(__snake_case	)) ** 0.5
										return {"distance": distance}
					raise ValueError('''Exactly one argument must be 0'''	)


if __name__ == "__main__":
				import doctest

				doctest.testmod()








"""simple docstring"""





def       lowerCamelCase__		(			__snake_case	)							->		bool:


					"""simple docstring"""





					return credit_card_number.startswith(('''34''', '''35''', '''37''', '''4''', '''5''', '''6''')	)



def       lowerCamelCase__		(			__snake_case	)							->		bool:


					"""simple docstring"""





					_UpperCamelCase							 =  credit_card_number
					_UpperCamelCase							 =  0
					_UpperCamelCase							 =  len(__snake_case	) - 2
					for i in range(__snake_case,     -1,     -2	):
										#  double the value of every second digit
										_UpperCamelCase							 =  int(cc_number[i]	)
										digit *= 2
										# If doubling of a number results in a two digit number
										# i.e greater than 9(e.g., 6 × 2 = 12),
										# then add the digits of the product (e.g., 12: 1 + 2 = 3, 15: 1 + 5 = 6),
										# to get a single digit number.
										if digit > 9:
															digit %= 10
															digit += 1
										_UpperCamelCase							 =  cc_number[:i] + str(__snake_case	) + cc_number[i + 1 :]
										total += digit

					# Sum up the remaining digits
					for i in range(len(__snake_case	) - 1,     -1,     -2	):
										total += int(cc_number[i]	)

					return total % 10 == 0



def       lowerCamelCase__		(			__snake_case	)							->		bool:


					"""simple docstring"""





					_UpperCamelCase							 =  F'''{credit_card_number} is an invalid credit card number because'''
					if not credit_card_number.isdigit():
										print(F'''{error_message} it has nonnumerical characters.'''	)
										return False

					if not 13 <= len(__snake_case	) <= 16:
										print(F'''{error_message} of its length.'''	)
										return False

					if not validate_initial_digits(__snake_case	):
										print(F'''{error_message} of its first two digits.'''	)
										return False

					if not luhn_validation(__snake_case	):
										print(F'''{error_message} it fails the Luhn check.'''	)
										return False

					print(F'''{credit_card_number} is a valid credit card number.'''	)
					return True


if __name__ == "__main__":
				import doctest

				doctest.testmod()
				validate_credit_card_number("""4111111111111111""")
				validate_credit_card_number("""32323""")






