15 points) Solution