let rec decoupe k = function | _ when k<0 -> failwith "k<0" | [] -> failwith "liste vide" | t::q when k=0 -> (t,q) | t::q -> let (t',q') = decoupe (k-1) q in (t',t::q') ;;