let separate_list_at (n:int) (l:'a list) =
let rec cut_list_rec (n:int) (deb:'a list) (fin:'a list) =
if (n=0) then (List.rev fin,deb)
else match deb with
| [] -> (List.rev fin,[])
| x::c -> cut_list_rec (n-1) c (x::fin)
in cut_list_rec n l []