new scala puzzles and algorithms