fun fib (n: Int): Int = fibCache.getOrPut (n) { fib (n - 1) + fib (n - 2) } val fibCache = mutableMapOf (0 to 0, 1 to 1) fun main () { generateSequence (::readlnOrNull).forEach { println (fib (it.toInt ())) } }