- Опорная точка выбирается случайным образом. - Убрал лишнее создание копии списка. - Доработал проверки корректности входных данных.