





"""simple docstring"""



import qiskit







def 		__lowercase					(       snake_case_  :  int = 2						)       ->qiskit.result.counts.Counts:



    '''simple docstring'''







    __A   :						Tuple									=					qubits

    # Using Aer's simulator
    __A   :						List[str]									=					qiskit.Aer.get_backend('''aer_simulator'''						)

    # Creating a Quantum Circuit acting on the q register
    __A   :						Optional[int]									=					qiskit.QuantumCircuit(snake_case_    ,snake_case_						)

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

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

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

    # 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
    __A   :						List[Any]									=					qiskit.execute(snake_case_    ,snake_case_    ,shots=1000						)

    return job.result().get_counts(snake_case_						)


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











"""simple docstring"""



import math
from collections.abc import Iterator
from itertools import takewhile







def 		__lowercase					(       snake_case_  :  int						)       ->bool:



    '''simple docstring'''







    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(snake_case_						) + 1						)    ,6						):
        if number % i == 0 or number % (i + 2) == 0:
            return False
    return True







def 		__lowercase					(       )       ->Iterator[int]:



    '''simple docstring'''







    __A   :						int									=					2
    while True:
        if is_prime(snake_case_						):
            yield num
        num += 1







def 		__lowercase					(       snake_case_  :  int = 2000000						)       ->int:



    '''simple docstring'''







    return sum(takewhile(lambda snake_case_						: x < n    ,prime_generator()						)						)


if __name__ == "__main__":
       print(f'''{solution() = }''')




