

import math

import qiskit
from qiskit import Aer, ClassicalRegister, QuantumCircuit, QuantumRegister, execute

def 	lowerCamelCase__	(   _a = 1							,     _a = 1):
	if isinstance(snake_case__							,     snake_case__) or isinstance(snake_case__							,     snake_case__):
		raise TypeError("inputs must be integers.")
	if (bit_a < 0) or (bit_a < 0):
		raise ValueError("inputs must be positive.")
	if (math.floor(snake_case__) != bit_a) or (math.floor(snake_case__) != bit_a):
		raise ValueError("inputs must be exact integers.")
	if (bit_a > 1) or (bit_a > 1):
		raise ValueError("inputs must be less or equal to 1.")

	# build registers
	SCREAMING_SNAKE_CASE				: Tuple			       =    QuantumRegister(2							,     "qr")
	SCREAMING_SNAKE_CASE				: Dict			       =    ClassicalRegister(2							,     "cr")

	SCREAMING_SNAKE_CASE				: str			       =    QuantumCircuit(snake_case__							,     snake_case__)

	# entanglement the qubits
	quantum_circuit.h(1)
	quantum_circuit.cx(1							,     0)

	# send the information
	SCREAMING_SNAKE_CASE				: Optional[Any]			       =    str(snake_case__) + str(snake_case__)

	if c_information == "11":
		quantum_circuit.x(1)
		quantum_circuit.z(1)
	elif c_information == "10":
		quantum_circuit.z(1)
	elif c_information == "01":
		quantum_circuit.x(1)
	else:
		quantum_circuit.i(1)

	# unentangled the circuit
	quantum_circuit.cx(1							,     0)
	quantum_circuit.h(1)

	# measure the circuit
	quantum_circuit.measure(snake_case__							,     snake_case__)

	SCREAMING_SNAKE_CASE				: Dict			       =    Aer.get_backend("aer_simulator")
	SCREAMING_SNAKE_CASE				: Tuple			       =    execute(snake_case__							,     snake_case__							,     shots=1000)

	return job.result().get_counts(snake_case__)


if __name__ == "__main__":
				print(F'''Counts for classical state send: {superdense_coding(1,1)}''')


import re

def 	lowerCamelCase__	(   _a):
	def docstring_decorator(_a):
		SCREAMING_SNAKE_CASE				: List[Any]			       =    fn.__doc__
		SCREAMING_SNAKE_CASE				: List[str]			       =    func_doc.split("\n")
		SCREAMING_SNAKE_CASE				: Dict			       =    0
		while i < len(_a) and re.search(r"^\s*Examples?:\s*$"							,     lines[i]) is None:
			i += 1
		if i < len(_a):
			SCREAMING_SNAKE_CASE				: Tuple			       =    example_docstring
			SCREAMING_SNAKE_CASE				: List[Any]			       =    "\n".join(_a)
		else:
			raise ValueError(
			    f"The function {fn} should have an empty 'Examples:' in its docstring as placeholder, "
			    f"current docstring is:\n{func_doc}")
		SCREAMING_SNAKE_CASE				: Optional[int]			       =    func_doc
		return fn

	return docstring_decorator