This book is mostly based on the author's 25 years of teaching combinatorics to two distinct sets of students: first-year students and seniors from all backgrounds. The prerequisites are kept to a minimum; essentially, only high school algebra is required. The design is to go quickly from zero knowledge to advanced themes and various applications with a lot of topics intended for additional reading and research projects. It contains an all-inclusive...