Problem about the generalized pigeonhole principle This problem from Discrete Mathematics and its application's for Rosen

What is the least number of area codes needed to guarantee that the 25
million phones in a state can be assigned distinct 10-digit telephone
numbers? (Assume that telephone numbers are of the form NXX-NXX-XXXX,
where the first three digits form the area code, N represents a digit
from 2 to 9 inclusive, and X represents any digit.)

The answer I found in the book is :

There are eight million different phone numbers of the form NXX-XXXX
(as shown in Example 8 of Section 6.1). Hence, by the generalized
pigeonhole principle, among 25 million telephones, at least
$\lceil25,000,000/8,000,000\rceil = 4$ of them must have identical phone numbers.
Hence, at least four area codes are required to ensure that all
10-digit numbers are different

Can anyone please explain this answer as I tried a lot to understand it but I can't.
 A: Since there are at most $8,000,000$ distinct numbers in an area code, if we had $3$ areas codes, we could only accommodate $3\cdot8,000,00=24,000,000$ phone numbers.  If we have $4$ area codes, we can accommodate $4\cdot8,000,00=32,000,000$ numbers, so we need $4$.
The short way to do this is to notice that $$\frac{25,000,000}{8,000,000}=\frac{25}8=3.125$$ so that $3$ area codes won't be enough, but $4$ will be.  The most compact way of writing it is that we need $$\left\lceil\frac{25,000,000}{8,000,000}\right\rceil$$ area codes.
A: I honestly think the answer is a bit unclear as well, but here is my similar explanation. There are $8$ million possible numbers of the form NXX - XXXX since:
$$
8 \times 10^6 = 8,000,000.
$$
Imagine you divide the $25$ million phones into groups of $8$ million phones. Evidently you get $4$ groups, the last group (only $1$ million) of course not being all the way full (hence the ceiling function in the answer). Each of the first $3$ groups use all of the numbers exactly once, and then there is guaranteed repetition again when assigning the fourth group of $1$ million people phone numbers. However, no number is repeated more than $4$ times. Thus, by having $4$ distinct area codes NXX, we can avoid any repetition.
A: There are 8000000 telephone numbers of the form NXX-XXXX .( For first element i.e N we have 8 choices and for remaining 6 elements we have 10 choices for each so by product rule we have 8000000 choices).Then by generalized pigeon hole principle there must be at least [25000000/8000000]=4 of 25 millions telephones which have identical phone numbers. So at least 4 area codes are required to guarantee that all 10 digit numbers are different.
