let rec nlist n = if n = 0 then [] else n::nlist (n-1) let rec mnlist m n = if m = 0 then [] else (ignore (nlist n); mnlist (m-1) n) (* let m = 2000*1000 and n = 500 ;; *) let m = 1 and n = 850*1000*1000 ;; print_endline ("m=" ^ (string_of_int m) ^ " n=" ^ (string_of_int n)) ; mnlist m n