package net.ipipip0129.kotlin.yukicoder import java.io.BufferedReader import java.io.InputStreamReader fun main(args: Array) { val br = BufferedReader(InputStreamReader(System.`in`)) val count = br.readLine().toInt() val tagsMap = HashMap() (0 until count).forEach { br.readLine() val data = br.readLine().split(" ") val tagsPoint = data[1].toInt() val tags = br.readLine().split(" ") tags.forEach { var tagPoint = 0 if (tagsMap.containsKey(it)) { tagPoint = tagsMap[it]!! } tagsMap[it] = tagPoint + tagsPoint } } tagsMap.toSortedMap(Comparator { o1, o2 -> val val1 = tagsMap[o1]!! val val2 = tagsMap[o2]!! when { val1 < val2 -> return@Comparator 1 val2 < val1 -> return@Comparator -1 else -> { when { o1 < o2 -> return@Comparator -1 o2 < o1 -> return@Comparator 1 else -> 0 } } } }).toList().take(10).forEach { println("${it.first} ${it.second}") } br.close() }