fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) val () = let val a = readInt () val b = readInt () fun isNumberWith3 n = List.exists (fn c => c = #"3") (String.explode (Int.toString n)) fun printAns n = if b < n then () else if n mod 3 = 0 orelse isNumberWith3 n then (print (Int.toString n ^ "\n"); printAns (n + 1)) else printAns (n + 1) in printAns a end