Solving puzzles and riddles