20 points) Solution