let update_student_coeffs (l:student list) (s:student)
   (paddl:paddress list) = 
  List.iter (fun padd -> 
    (* Get team fellows *)
    let members = List.find_all (fun t -> belong_to_same_team_as t s padd) l in
    let n = float (List.length members) in
      if (n > 1.1) then 
        let grades  = List.map student_mean members in
        let r = float (get_rank (student_mean s) grades) in
        let m = 0.05 in 
        let c = 1. +. m +. (1. -. r) *. 2. *. m /.(n -. 1.) in 
          try H.update_assoc s.teams padd (update_coeff (H.get_assoc s.teams padd) c);
          with _ -> ();            ) paddl