Программа - структурирована, поэтому для наилучшего понимания ее работы я наглядно предоставлю ее внутреннюю структуру.