Finished exam by Bernardo Pineda