The document discusses the pigeonhole principle, which states that if n items are put into m containers where n > m, then at least one container must contain more than one item. It provides various formulations and applications of the principle in areas like data compression, hash tables, and the Chinese Remainder Theorem. The principle is believed to have first been stated by Dirichlet in 1834 and is also known as the drawer or shelf principle. Examples are given to illustrate how it can be used to solve problems related to birthdays, friend relationships, and geometry.