func numberOfBoomerangs(points [][]int) (cnt int) {
	n := len(points)
	dis := make([][]int, n)
	for i := 0; i < n; i++ {
		dis[i] = make([]int, n)
	}
	for i := 0; i < n-1; i++ {
		for j := i + 1; j < n; j++ {
			dx, dy := points[i][0]-points[j][0], points[i][1]-points[j][1]
			dis[i][j] = dx*dx + dy*dy
			dis[j][i] = dis[i][j]
		}
	}
	for i := 0; i < n; i++ {
		m := make(map[int]int)
		for j := 0; j < n; j++ {
			m[dis[i][j]]++
		}
		for _, v := range m {
			cnt += v * (v - 1)
		}
	}
	return
}