Устал уже переписывать эту задачу, всё вроде работает. Не подскажите, в чём моя ошибка?