import java.io.*; import java.util.*; import java.util.stream.*; class Process { private int A; private int B; Process(int A, int B) { this.A = A; this.B = B; } private boolean isMultipleOfThree(int n) { return (n % 3 == 0); } private boolean containsThree(int n) { return String.valueOf(n).contains("3"); } String getResult() { var result = new StringBuffer(""); for(int i = A; i <= B; i++) { if(isMultipleOfThree(i) || containsThree(i)) { result.append(i + "\n"); } } if(result.length() > 0) { result.delete((result.length() - 1), result.length()); } return result.toString(); } } public class Main { public static void main(String[] args) throws IOException { var bufferedReader = new BufferedReader(new InputStreamReader(System.in)); var printWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out))); // 入力 int[] input = Stream.of(bufferedReader.readLine().trim().split("[ ]+")).mapToInt(Integer::parseInt).toArray(); // 処理および出力 printWriter.println(new Process(input[0], input[1]).getResult()); bufferedReader.close(); printWriter.close(); } }