Rick,
I would like to see you handle this question by data simulation.
BTW, I know this is a personal question. You might not want to answer.
Which college has your son been accepted? Cornell University?

%let NumRows = 1000000;
%let NumInRow= 28;
data Graduation;
array x{28} male1-male28;
call streaminit(123456789);
do row = 1 to &NumRows;
do seat = 1 to &NumInRow;
x{seat} = rand("Bernoulli", 0.5);
end;
if find(cats(of x{*}),'11111111') then found=1;
else found=0;
output;
end;
run;
proc means data=graduation mean;
var found;
run;