let list_of_string str = let l = String.length str in let rec iter i lst = if i >= l then lst else iter (i+1) ((int_of_char str.[i] - 48) :: lst) in iter 0 [] let rec include3 n m = if n > m then [] else if List.mem 3 (list_of_string (string_of_int n)) || n mod 3 = 0 then string_of_int n :: include3 (n+1) m else include3 (n+1) m let () = let n, m = Scanf.scanf "%d %d\n" (fun a b -> a, b) in let lst = include3 n m in List.iter print_endline lst