"""simple docstring"""
from __future__ import annotations

lowercase__   			=      'Alexander Joslin'







def 		__a  (      _SCREAMING_SNAKE_CASE  )      ->int:

  if number <= 0:
    a__:	Any     				=      F'n must be greater than 0. Got n = {number}'
    raise ValueError(_SCREAMING_SNAKE_CASE  )

  a__:	Any     				=      [number + 1] * (number + 1)

  # starting position
  a__:	str     				=      0
  for i in range(1						,	_SCREAMING_SNAKE_CASE  ):
    a__:	Dict     				=      min(table[i + 1]						,	table[i] + 1  )
    # check if out of bounds
    if i * 2 <= number:
      a__:	Optional[int]     				=      min(table[i * 2]						,	table[i] + 1  )
    # check if out of bounds
    if i * 3 <= number:
      a__:	int     				=      min(table[i * 3]						,	table[i] + 1  )
  return table[number]


if __name__ == "__main__":
 import doctest

 doctest.testmod()




"""simple docstring"""




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

def     UpperCamelCase_    (						SCREAMING_SNAKE_CASE_ = np.pi / 2,	SCREAMING_SNAKE_CASE_ = np.pi / 2,	SCREAMING_SNAKE_CASE_ = np.pi / 2     ):
					SCREAMING_SNAKE_CASE           =      QuantumRegister(3,	'qr'     )  # Define the number of quantum bits
					SCREAMING_SNAKE_CASE           =      ClassicalRegister(1,	'cr'     )  # Define the number of classical bits

					SCREAMING_SNAKE_CASE           =      QuantumCircuit(SCREAMING_SNAKE_CASE_,	SCREAMING_SNAKE_CASE_     )  # Define the quantum circuit.

					# Build the circuit
					quantum_circuit.u(SCREAMING_SNAKE_CASE_,	SCREAMING_SNAKE_CASE_,	SCREAMING_SNAKE_CASE_,	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
					SCREAMING_SNAKE_CASE           =      Aer.get_backend('aer_simulator'     )
					SCREAMING_SNAKE_CASE           =      execute(SCREAMING_SNAKE_CASE_,	SCREAMING_SNAKE_CASE_,	shots=1_0_0_0     )

					return job.result().get_counts(SCREAMING_SNAKE_CASE_     )


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