






def __A    (      __lowerCAmelCase	)->  str:





						"""simple docstring"""



						if isinstance(__lowerCAmelCase ,		__lowerCAmelCase	):
												raise TypeError('\'float\' object cannot be interpreted as an integer'	)
						if isinstance(__lowerCAmelCase ,		__lowerCAmelCase	):
												raise TypeError('\'str\' object cannot be interpreted as an integer'	)

						if num == 0:
												return "0b0"

						_UpperCAmelCase									=			False

						if num < 0:
												_UpperCAmelCase									=			True
												_UpperCAmelCase									=			-num

						_UpperCAmelCase									=			[]
						while num > 0:
												binary.insert(0 ,		num % 2	)
												num >>= 1

						if negative:
												return "-0b" + "".join(str(__lowerCAmelCase	) for e in binary	)

						return "0b" + "".join(str(__lowerCAmelCase	) for e in binary	)


if __name__ == "__main__":
		import doctest

		doctest.testmod()





import qiskit

def        a						(      _UpperCAmelCase							:					int ,   _UpperCAmelCase							:					int						):







		'''simple docstring'''





		__UpperCAmelCase    :     List[str]													=	qiskit.Aer.get_backend('''aer_simulator'''						)

		__UpperCAmelCase    :     Optional[Any]													=	qiskit.QuantumCircuit(4 ,   2						)
		# encode inputs in qubits 0 and 1
		if bita == 1:
				qc_ha.x(0						)
		if bita == 1:
				qc_ha.x(1						)
		qc_ha.barrier()

		# use cnots to write XOR of the inputs on qubit2
		qc_ha.cx(0 ,   2						)
		qc_ha.cx(1 ,   2						)

		# use ccx / toffoli gate to write AND of the inputs on qubit3
		qc_ha.ccx(0 ,   1 ,   3						)
		qc_ha.barrier()

		# extract outputs
		qc_ha.measure(2 ,   0						)  # extract XOR value
		qc_ha.measure(3 ,   1						)  # extract AND value

		# Execute the circuit on the qasm simulator
		__UpperCAmelCase    :     str													=	qiskit.execute(_UpperCAmelCase ,   _UpperCAmelCase ,   shots=10_00						)

		# Return the histogram data of the results of the experiment
		return job.result().get_counts(_UpperCAmelCase						)


if __name__ == "__main__":
				__A   			=half_adder(1, 1)
				print(f'''Half Adder Output Qubit Counts: {counts}''')





