Задачу я решил, но не понимаю, как это работает. Прокомментируйте, пожалуйста.