

"""simple docstring"""






import math

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



def   lowercase_	(    _lowercase       :		int = 3	):




					'''simple docstring'''






					if isinstance(_lowercase							,      _lowercase	):
										raise TypeError("number of qubits must be a integer."	)
					if number_of_qubits <= 0:
										raise ValueError("number of qubits must be > 0."	)
					if math.floor(_lowercase	) != number_of_qubits:
										raise ValueError("number of qubits must be exact integer."	)
					if number_of_qubits > 10:
										raise ValueError("number of qubits too large to simulate(>10)."	)

					UpperCAmelCase			:   Union[str, Any]      =				QuantumRegister(_lowercase							,      "qr"	)
					UpperCAmelCase			:   List[str]      =				ClassicalRegister(_lowercase							,      "cr"	)

					UpperCAmelCase			:   Optional[Any]      =				QuantumCircuit(_lowercase							,      _lowercase	)

					UpperCAmelCase			:   Optional[Any]      =				number_of_qubits

					for i in range(_lowercase	):
										quantum_circuit.h(number_of_qubits - i - 1	)
										counter -= 1
										for j in range(_lowercase	):
															quantum_circuit.cp(np.pi / 2 ** (counter - j)							,      _lowercase							,      _lowercase	)

					for k in range(number_of_qubits // 2	):
										quantum_circuit.swap(_lowercase							,      number_of_qubits - k - 1	)

					# measure all the qubits
					quantum_circuit.measure(_lowercase							,      _lowercase	)
					# simulate with 10000 shots
					UpperCAmelCase			:   Optional[int]      =				Aer.get_backend("qasm_simulator"	)
					UpperCAmelCase			:   List[Any]      =				execute(_lowercase							,      _lowercase							,      shots=1_00_00	)

					return job.result().get_counts(_lowercase	)


if __name__ == "__main__":
	print(
	    f'''Total count for quantum fourier transform state is: \
    {quantum_fourier_transform(3)}'''
	)








"""simple docstring"""






def   lowercase_	(    _lowercase       :		str	):




					'''simple docstring'''






					if not all(x.isalpha() for x in string	):
										raise ValueError("String must only contain alphabetic characters."	)

					UpperCAmelCase			:   Optional[int]      =				sorted(string.lower()	)
					return len(_lowercase	) == len(set(_lowercase	)	)


if __name__ == "__main__":
	snake_case_   :   Tuple        =       input("""Enter a string """).strip()

	snake_case_   :   str        =       is_isogram(input_str)
	print(f'''{input_str} is {"an" if isogram else "not an"} isogram.''')


