let existing_path (stl,trl)  stn1 stn2 =
  states_l:=stl;
  trans_l:=trl;
  let st1 = ref (List.hd stl) in
  let st2 = ref (List.hd stl) in
  List.iter 
    (fun st -> 
       if st.nums=stn1 then st1:=st;
       if st.nums=stn2 then st2:=st;
    )
    stl;
  
  try
    let _ = dijkstra voisins !st1 !st2 in
    true
  with 
    | Not_found -> false