import java.util.* fun ArrayList.findAll(predicate: (T) -> Boolean): ArrayList { val result = ArrayList() for(val t in this) { if (predicate(t)) result.add(t) } return result } fun box(): String { val list: ArrayList = ArrayList() list.add("Prague") list.add("St.Petersburg") list.add("Moscow") list.add("Munich") val m: ArrayList = list.findAll({(name: String) -> name.startsWith("M")}) return if (m.size() == 2) "OK" else "fail" }