Новый алгоритм хороший. Спасибо @nikitabier