Переделал алгоритм