по моим проверкам все работает корректно , суть логику понял, но если кто объяснит более подробно буду очень благодарен)))