Puzzles for Programmers and Pros door Dennis Shasha