'''simple docstring'''

import numpy as np
import qiskit
from qiskit import Aer, ClassicalRegister, QuantumCircuit, QuantumRegister, execute



def  _lowerCAmelCase				(				__a = np.pi / 2			,      __a = np.pi / 2			,      __a = np.pi / 2      )  ->      Optional[int]:
     '''simple docstring'''







     _UpperCamelCase  :Optional[int]       =QuantumRegister(3			,      """qr"""      )  # Define the number of quantum bits
     _UpperCamelCase  :List[str]       =ClassicalRegister(1			,      """cr"""      )  # Define the number of classical bits

     _UpperCamelCase  :Any       =QuantumCircuit(__lowerCAmelCase			,      __lowerCAmelCase      )  # Define the quantum circuit.

     # Build the circuit
     quantum_circuit.u(__lowerCAmelCase			,      __lowerCAmelCase			,      __lowerCAmelCase			,      0      )  # Quantum State to teleport
     quantum_circuit.h(1      )  # add hadamard gate
     quantum_circuit.cx(
         1			,      2      )  # add control gate with qubit 1 as control and 2 as target.
     quantum_circuit.cx(0			,      1      )
     quantum_circuit.h(0      )
     quantum_circuit.cz(0			,      2      )  # add control z gate.
     quantum_circuit.cx(1			,      2      )

     quantum_circuit.measure([2]			,      [0]      )  # measure the qubit.

     # Simulate the circuit using qasm simulator
     _UpperCamelCase  :Optional[int]       =Aer.get_backend("""aer_simulator"""      )
     _UpperCamelCase  :str       =execute(__lowerCAmelCase			,      __lowerCAmelCase			,      shots=10_00      )

     return job.result().get_counts(__lowerCAmelCase      )


if __name__ == "__main__":
      print(
          """Total count for teleported state is: """
          f"{quantum_teleportation(np.pi/2, np.pi/2, np.pi/2)}"
      )



'''simple docstring'''


def 			__lowerCAmelCase			(__lowerCAmelCase ):
		return "".join(chr(ord(__lowerCAmelCase ) + 32 ) if "A" <= char <= "Z" else char for char in word )


if __name__ == "__main__":
						from doctest import testmod

						testmod()



