puzzle-solving strategies