This book presents the important concepts of contemporary combinatorics. Unlike other branches of mathematics, in combinatorics the solutions of problems play a special role because in many instances a problem may need an ad hoc argument based on some kind of special insight; that is, it may not be possible to solve it by applying results of known theorems alone. The book contains a variety of problems covering various branches of the subject.