let project_mean gl gnum pnum =
let studs = List.filter (fun s -> s.group = gnum) gl in
let grad = List.map (fun s -> student_grade s pnum) studs in
let pgrad = List.filter (fun f -> f>0.) grad in
let num = List.length pgrad in
if (num = 0) then 0. else (List.fold_left (+.) 0. pgrad)/.(float num)