import math

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



def       __SCREAMING_SNAKE_CASE    (   __UpperCamelCase       :			int = 1					,	__UpperCamelCase       :			int = 1      )				->   Any:







  """simple docstring"""





  if isinstance(_lowerCAmelCase					,	_lowerCAmelCase      ) or isinstance(_lowerCAmelCase					,	_lowerCAmelCase      ):
    raise TypeError("""inputs must be integers."""      )
  if (bit_a < 0) or (bit_a < 0):
    raise ValueError("""inputs must be positive."""      )
  if (math.floor(_lowerCAmelCase      ) != bit_a) or (math.floor(_lowerCAmelCase      ) != 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__     				= QuantumRegister(2					,	"""qr"""      )
  SCREAMING_SNAKE_CASE__     				= ClassicalRegister(2					,	"""cr"""      )

  SCREAMING_SNAKE_CASE__     				= QuantumCircuit(_lowerCAmelCase					,	_lowerCAmelCase      )

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

  # send the information
  SCREAMING_SNAKE_CASE__     				= str(_lowerCAmelCase      ) + str(_lowerCAmelCase      )

  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(_lowerCAmelCase					,	_lowerCAmelCase      )

  SCREAMING_SNAKE_CASE__     				= Aer.get_backend("""aer_simulator"""      )
  SCREAMING_SNAKE_CASE__     				= execute(_lowerCAmelCase					,	_lowerCAmelCase					,	shots=10_00      )

  return job.result().get_counts(_lowerCAmelCase      )


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

"""simple docstring"""


from doctest import testmod
from math import sqrt

def 						UpperCamelCase				(	_lowerCAmelCase   :							int						):
    __a			      =						[]
    if num < 1:
        return facs
    facs.append(1						)
    if num == 1:
        return facs
    facs.append(_lowerCAmelCase						)
    for i in range(2				, int(sqrt(_lowerCAmelCase						)						) + 1						):
        if num % i == 0:  # If i is a factor of num
            facs.append(_lowerCAmelCase						)
            __a			      =						num // i  # num//i is the other factor of num
            if d != i:  # If d and i are distinct
                facs.append(_lowerCAmelCase						)  # we have found another factor
    facs.sort()
    return facs


if __name__ == "__main__":
 testmod(name="""factors_of_a_number""", verbose=True)
