


'''simple docstring'''







import qiskit






def       lowercase					(_A = 2       ):







       """simple docstring"""







       _lowerCAmelCase     :				Any       =							qubits

       # Using Aer's simulator
       _lowerCAmelCase     :				str       =							qiskit.Aer.get_backend('aer_simulator'       )

       # Creating a Quantum Circuit acting on the q register
       _lowerCAmelCase     :				str       =							qiskit.QuantumCircuit(_A ,    _A       )

       # Adding a H gate on qubit 0 (now q0 in superposition)
       circuit.h(0       )

       for i in range(1 ,    _A       ):
              # Adding CX (CNOT) gate
              circuit.cx(i - 1 ,    _A       )

       # Mapping the quantum measurement to the classical bits
       circuit.measure(list(range(_A       )       ) ,    list(range(_A       )       )       )

       # Now measuring any one qubit would affect other qubits to collapse
       # their super position and have same state as the measured one.

       # Executing the circuit on the simulator
       _lowerCAmelCase     :				Any       =							qiskit.execute(_A ,    _A ,    shots=1_0_0_0       )

       return job.result().get_counts(_A       )


if __name__ == "__main__":
       print(F'''Total count for various states are: {quantum_entanglement(3)}''')



"""simple docstring"""



import math
import unittest


def 			_UpperCamelCase						(    _A   )     ->	bool:





    """simple docstring"""

    assert isinstance(_A       ,   _A   ) and (
        number >= 0
    ), "'number' must been an int and positive"

    if 1 < number < 4:
        # 2 and 3 are primes
        return True
    elif number < 2 or number % 2 == 0 or number % 3 == 0:
        # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
        return False

    # All primes number are in format of 6k +/- 1
    for i in range(5       ,   int(math.sqrt(_A   ) + 1   )       ,   6   ):
        if number % i == 0 or number % (i + 2) == 0:
            return False
    return True




class 		a_    (			unittest.TestCase						):







    def   _snake_case       (      self      :							int  )		->Optional[int]:






        '''simple docstring'''






        self.assertTrue(is_prime(2  )  )
        self.assertTrue(is_prime(3  )  )
        self.assertTrue(is_prime(5  )  )
        self.assertTrue(is_prime(7  )  )
        self.assertTrue(is_prime(11  )  )
        self.assertTrue(is_prime(13  )  )
        self.assertTrue(is_prime(17  )  )
        self.assertTrue(is_prime(19  )  )
        self.assertTrue(is_prime(23  )  )
        self.assertTrue(is_prime(29  )  )







    def   _snake_case       (      self      :							Union[str, Any]  )		->Optional[Any]:






        '''simple docstring'''






        with self.assertRaises(__UpperCamelCase  ):
            is_prime(-19  )
        self.assertFalse(
            is_prime(0  )  ,       """Zero doesn't have any positive factors, primes must have exactly two."""  ,       )
        self.assertFalse(
            is_prime(1  )  ,       """One only has 1 positive factor, primes must have exactly two."""  ,       )
        self.assertFalse(is_prime(2 * 2  )  )
        self.assertFalse(is_prime(2 * 3  )  )
        self.assertFalse(is_prime(3 * 3  )  )
        self.assertFalse(is_prime(3 * 5  )  )
        self.assertFalse(is_prime(3 * 5 * 7  )  )


if __name__ == "__main__":
 unittest.main()