алгоритм прокалывания