func main() var n: int :: cui@inputInt() var pairs: []Pair :: #[n * (n - 1) / 2]Pair var x: []int :: #[n]int var y: []int :: #[n]int for i(0, n - 1) do x[i] :: cui@inputInt() do y[i] :: cui@inputInt() end for var idx: int :: 0 for i(0, n - 1) for j(i + 1, n - 1) do pairs[idx] :: (#Pair).init(i, j, (x[i] - x[j]) ^ 2 + (y[i] - y[j]) ^ 2) do idx :+ 1 end for end for do pairs.sort() var ans: int :: 0 var used: []bool :: #[n]bool for i(0, idx - 1) var id1: int :: pairs[i].id1 var id2: int :: pairs[i].id2 if(id1 = 0) if(!used[id2]) do used[id2] :: true do ans :+ 1 end if else if(!used[id1] & !used[id2]) do used[id1] :: true do used[id2] :: true end if end if end for do cui@print("\{ans}\n") class Pair() +var id1: int +var id2: int +var dist: int +func init(id1: int, id2: int, dist: int): Pair do me.id1 :: id1 do me.id2 :: id2 do me.dist :: dist ret me end func +*func cmp(t: kuin@Class): int ret me.dist - (t $ Pair).dist end func end class end func