import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class Nabeatsu { public static void main(String[] args) throws IOException { // TODO 自動生成されたメソッド・スタブ //入力値 String input; //入力された値を分割した際に格納する配列。0番目が最小値1番目が最大値 String[] splited; //入力した最小値と最大値の間の数を格納するためのArrayList ArrayList numbers = new ArrayList(); //入力値の入力 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); input = in.readLine(); //入力値の分割 splited = input.split(" "); //for文でArrayListに格納する。 for(int i = Integer.parseInt(splited[0]);i <= Integer.parseInt(splited[1]);i++){ numbers.add(i); } //ArrayListに格納されている数字が3の倍数または3のつく数字なら出力する。 for(int temp:numbers){ String judge = String.valueOf(temp); if(temp % 3 == 0){ System.out.println(temp); }else if(judge.indexOf("3") != -1){ System.out.println(temp); }else{ } } } }