object main{ object Solver extends InputReader{ def g(n: Long): Boolean = { if(n == 0){ false }else{ n % 10 == 3 || g(n / 10) } } def f(n: Long): Boolean = { n % 3 == 0 || g(n) } def solve(){ val a = getLong() val b = getLong() for(i <- a to b; if(f(i))){ println(i) } } } // TEMPLATE ------------------------ def main(args: Array[String]){ Solver.solve() } trait InputReader{ import java.io._ import java.util._ protected val stream = System.in private val reader = new BufferedReader(new InputStreamReader(stream)) private var tokenizer = new StringTokenizer(reader.readLine()) def getStr(): String = { while(!tokenizer.hasMoreTokens()) tokenizer = new StringTokenizer(reader.readLine()) tokenizer.nextToken() } def getInt(): Int = getStr().toInt def getLong(): Long = getStr().toLong def getDouble(): Double = getStr().toDouble } }