Добавлены комментарии
Функция reduce поправлена