35 player limit.
At a P5 (and many other programs) it is assumed (by players, coaches, and families) that each will be drafted in his first draft eligible year (most as juniors, some as sophomores). Recruiting ASSUMES this as a fact; but, the reality is different as some players who actually survive three years at the school don't get drafted as planned and return as seniors.
Therefore, even if there is NO annual fallout a class needs 12 recruits to matriculate annually just to keep a full roster.
Then, recruits are added to hedge against transfers, injuries, retirements.
Then, recruits are added to hedge for HS signed draftees and kids who were injured or didn't matriculate (perhaps due to grades/score issues).
Some coaches will recognize that there will be a few returning seniors and SUBTRACT that number from the needs of an incoming class.
So, the equation is: 12 + x + y - z, where x are non-returning players, y are the number of signed HS commits and HS commits who didn't matriculate, and z are returning seniors.
All the hedges are estimated by a coach based upon his experience. Moreover, it is in his interest to over hedge and let the consequences fall on the "marginal" recruits. (Think of an airline over booking seats during a holiday period - except without the compensation for the bump.)
I have seen incoming freshman classes of over 20.