import java.util.* fun main() { val builder = StringBuilder() val n = readInputLine().toInt() val balloon = Array(n) { val (x, y) = readInputLine().split(" ").map { it.toLong() } Pair(x, y) } val queue = PriorityQueue> { x, y -> x.third.compareTo(y.third) } for (i in 0 until n) { for (j in i + 1 until n) { val x = balloon[i].first - balloon[j].first val y = balloon[i].second - balloon[j].second queue.add(Triple(i, j, x * x + y * y)) } } var ans = 0 val removed = BooleanArray(n) while (queue.isNotEmpty()) { val (x, y, _) = queue.poll()!! if (removed[x] || removed[y]) { continue } if (x == 0 && !removed[y]) { ans++ } if (x != 0) { removed[x] = true } removed[y] = true } builder.appendln(ans) print(builder.toString()) } fun readInputLine(): String { return readLine()!! }