let coefficient_choose p a =
try
List.iter
(fun m ->
let q = coefficient_of_mono m in
let x = variable_of_mono m in
if p q x then raise(FoundQ(q)))
(nonconstant_monomials_of a);
raise Not_found
with
FoundQ(q) -> q