let find_random (f:'a -> bool) (l:'a list) =
let sl = List.filter f l in
let num = List.length sl in
if(num==0) then raise Not_found else
let sto = Random.int num in
let (_,b) = separate_list_at sto sl in
(List.hd b)