First part of the algorithm design choice section