Выкладываю блок-схему промежуточного рабочего варианта: