import java.util.ArrayList trait Tr { fun extra() : String = "_" } class N() : ArrayList(), Tr { override fun add(el: Any) : Boolean { super.add(el) return super.add(el.toString() + super.extra() + el + extra()) } override fun extra() : String = super.extra() + super.extra() } fun box(): String { val n = N() n.add("239") if (n.get(0) == "239" && n.get(1) == "239_239__") return "OK"; return "fail"; }