handout on algorithms 2014820