1. The problem statement, all variables and given/known data Show that the PHP is the best possible result. Meaning show that m pigeons can occupy n hole in such a way that no hole contains more than floor[(m-1)/n] + 1 pigeons. 2. Relevant equations 3. The attempt at a solution well, first i thought I would break this up into cases. 1. floor[(m-1)/n] is an integer then n * [(m-1)/n] + 1 = m - 1 + 1 = m 2. floor[(m-1)/n] is not an integer. (m-1)/n = floor[(m-1)/n] + Ɛ then I guess we could break this up into another 3 cases i. 0 < Ɛ < 1/2 ii. Ɛ = 1/2 iii. 1/2 < Ɛ < 1 but i don't think this is the right approach :\... i'm actually not entirely sure what i'm supposed to do with this one ... maybe show that when m divides n, the number of pigeons in every hole is no more than ceiling(m/n) ... that's not too hard, just do n*ceil(m/n) = m pigeons, just as expected but i'm not sure what to do if m doesn't divide n ... any hints?