# -*- coding: utf-8 -*-
"""
Created on Tue May 19 13:10:44 2026

@author: student
"""
"""
def has_correct_bracket(text):
    stack = []
    for el in text:
        if el == '(':
            stack.append("(")
        elif el == ')':
            if len(stack) == 0:
                return False
            stack.pop()
    return len(stack) == 0

#Poprawny
t1 = "Ala (() ma ()) kota"
#Niepoprawne
t2 = "Kot ()ma) )ale"
t3 = "(Kot ( ma ale)"
print("Pierwszy wyraz: ", has_correct_bracket(t1))
        
print("Drugi wyraz: ",has_correct_bracket(t2))
        
print("Trzeci wyraz: ",has_correct_bracket(t3))
"""

def generate_set(_from, to, step):
    res = set()
    for x in range(2 * _from, to + 1, step):
        res.add(x)
    return res

"""
print(generate_set(1, 12, 1))
print(generate_set(2, 12, 2))
print(generate_set(3, 12, 3))"""


def primes_numbers(n):
    org = generate_set(1, n, 1)
    for x in range(2, int(n ** 0.5) + 1):
        n_set = generate_set(x, n, x)
        org = org - n_set
    return org
    

print(len(primes_numbers(20)))