PUZZLE 1: ALGORITHMS