As someone who wanted to improve my skills in combinatorics from pre-Olympiad to Olympiad level, I thought that this book suited that purpose very well. In particular, I really enjoyed the section on counting in more than one way. Although the idea presented was rather simple in nature, I loved reading through the examples, as they were very nonroutine and helped see the technique in a more general light. For instance, the example on proving a identity involving the floor function was very enlightening, as I had never really been exposed to the combinatorial idea of counting lattice points, which made reading the solution very informative; I thought it was extremely elegant, and it added another idea to my combinatorics toolbox. I also liked the section on invariants, as it explained in detail the motivation behind the technique and how it is applied in combinatorics problems involving games and algorithms. Often, I would read solutions to these types of problems in other resources and have no idea how I would come up with those solutions myself. However, I believe this chapter definitely provided enough explanation on how such elegant solutions can be found on one's own, which I appreciated. Lastly, I really liked the section on combinatorial geometry. When preparing for competitions, I would often get stuck on problems that combine the ideas of geometry and combinatorics, but I never really found appropriate resources that covered the ideas behind combinatorial geometry in an informative and intuitive way. This section was what I was looking for, as it outlined the basic ideas and techniques at the beginning, and then went straight to worked examples with detailed and motivated solutions, which I found to be very helpful and effective. I thought that the discussion on convexity was very helpful for the purposes of the chapter, as I never really got an idea of what convexity was until I read that part. Enough theory behind convexity was provided, and that helped me get an idea of what was going on in the solutions to the examples provided. Furthermore, I thought that the examples presented in this section were sufficiently challenging and also interesting and nonroutine. It was truly a joy reading through the solutions to these examples, as they methodically dissected the problem and showed the power of the math discussed by applying the ideas in very beautiful ways. Overall, I think that this book was a very enjoyable read, and the experience of working through the problems at the end was extremely rewarding, and the solutions to them were written with the right audience in mind. The problems at the end incorporated the right balance between computational problems and proofs, and I found that working through them at my own pace helped me bridge the gap between pre-Olympiad combinatorics and Olympiad combinatorics.