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)