Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import java.util.TreeMap
fun main() {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val sales = TreeMap<String, TreeMap<String, Long>>()
while (true) {
val line = reader.readLine() ?: break
val (buyer, item, qty) = line.split(" ")
val items = sales.getOrPut(buyer) { TreeMap() }
items[item] = (items[item] ?: 0L) + qty.toLong()
}
for ((buyer, items) in sales) {
writer.write("$buyer:\\n")
for ((item, qty) in items) {
writer.write("$item $qty\\n")
}
}
reader.close()
writer.flush()
writer.close()
}