Hard Logic Puzzles With Answers