





import qiskit
from qiskit.providers import Backend





def 						__SCREAMING_SNAKE_CASE  (    UpperCamelCase__      ,      UpperCamelCase__			)  ->    Union[str, Any]:







			'''simple docstring'''

			UpperCAmelCase       		=    bin(UpperCamelCase__			)[2:], bin(UpperCamelCase__			)[2:]  # Remove leading '0b'

			# Ensure that both strings are of the same length
			if len(UpperCamelCase__			) > len(UpperCamelCase__			):
						UpperCAmelCase       		=    y.zfill(len(UpperCamelCase__			)			)
			else:
						UpperCAmelCase       		=    x.zfill(len(UpperCamelCase__			)			)

			# We need (3 * number of bits in the larger number)+1 qBits
			# The second parameter is the number of classical registers, to measure the result
			UpperCAmelCase       		=    qiskit.QuantumCircuit((len(UpperCamelCase__			) * 3) + 1      ,      len(UpperCamelCase__			) + 1			)

			# We are essentially "not-ing" the bits that are 1
			# Reversed because it's easier to perform ops on more significant bits
			for i in range(len(UpperCamelCase__			)			):
						if x[::-1][i] == "1":
									circuit.x(UpperCamelCase__			)
			for j in range(len(UpperCamelCase__			)			):
						if y[::-1][j] == "1":
									circuit.x(len(UpperCamelCase__			) + j			)

			return circuit, x, y





def 						__SCREAMING_SNAKE_CASE  (    UpperCamelCase__      ,      UpperCamelCase__      ,      UpperCamelCase__      ,      UpperCamelCase__      ,      UpperCamelCase__      ,      )  ->    Optional[Any]:







			'''simple docstring'''

			circuit.ccx(UpperCamelCase__      ,      UpperCamelCase__      ,      UpperCamelCase__			)
			circuit.cx(UpperCamelCase__      ,      UpperCamelCase__			)
			circuit.ccx(UpperCamelCase__      ,      UpperCamelCase__      ,      UpperCamelCase__			)
			circuit.cx(UpperCamelCase__      ,      UpperCamelCase__			)
			circuit.cx(UpperCamelCase__      ,      UpperCamelCase__			)





def 						__SCREAMING_SNAKE_CASE  (    UpperCamelCase__      ,      UpperCamelCase__      ,      UpperCamelCase__ = qiskit.Aer.get_backend('''aer_simulator'''			)      ,      )  ->    List[Any]:







			'''simple docstring'''

			if vala < 0 or vala < 0:
						raise ValueError('''Both Integers must be positive!'''			)

			# Store the Integers
			UpperCAmelCase       		=    store_two_classics(UpperCamelCase__      ,      UpperCamelCase__			)
			for i in range(len(UpperCamelCase__			)			):
						full_adder(UpperCamelCase__      ,      UpperCamelCase__      ,      len(UpperCamelCase__			) + i      ,      len(UpperCamelCase__			) + len(UpperCamelCase__			) + i      ,      len(UpperCamelCase__			) + len(UpperCamelCase__			) + i + 1			)
						circuit.barrier()  # Optional, just for aesthetics

			# Measure the resultant qBits
			for i in range(len(UpperCamelCase__			) + 1			):
						circuit.measure([(len(UpperCamelCase__			) * 2) + i]      ,      [i]			)

			UpperCAmelCase       		=    qiskit.execute(UpperCamelCase__      ,      UpperCamelCase__      ,      shots=1			).result()

			# The result is in binary. Convert it back to int
			return int(list(res.get_counts()			)[0]      ,      2			)


if __name__ == "__main__":
						import doctest

						doctest.testmod()










def 						__SCREAMING_SNAKE_CASE  (    UpperCamelCase__      ,      UpperCamelCase__      ,      UpperCamelCase__			)  ->    float:







			'''simple docstring'''

			if mass < 0:
						raise ValueError('''The mass of the body cannot be negative'''			)
			if radius <= 0:
						raise ValueError('''The radius is always a positive non zero integer'''			)
			return (mass * (velocity) ** 2) / radius


if __name__ == "__main__":
				import doctest

				doctest.testmod(verbose=True)



