import java.util.Scanner val isSafelyIncreasing = { offset: Int -> offset in 1..3 } val isSafelyDecreasing = { offset: Int -> offset in (-3)..(-1) } fun isSafeRoute(levels: List): Boolean { val levelOffsets = levels.foldIndexed(ArrayList()) { index, acc, i -> if (index > 0) { acc.add(i - levels[index - 1]) } acc } return levelOffsets.all(isSafelyIncreasing) || levelOffsets.all(isSafelyDecreasing) } val scanner = Scanner(System.`in`) var safeCount = 0 while (scanner.hasNextInt()) { val line = scanner.nextLine() val numbers = line.split(" ").map { it.toInt() } if (isSafeRoute(numbers)) { safeCount++ } } println(safeCount)