let find_random (f:'-> 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)