package main import . "fmt" import . "os" import bf "bufio" func main() { rd := bf.NewReader(Stdin) var n, m int Fscan(rd,&n,&m) a := make([]int, n) for i := range a { Fscan(rd,&a[i]) } // P_i は単位円上の点 // ゆえに、直角三角形を作る場合 // 長辺は円の中心を通る直径であり、180°反対側にある // 2 * PI * abs(A_i - A_j) / M == PI // -> 2 * abs(A_i - A_j) == M // -> M は偶数が必要条件? // A_i > A_j とするなら -> A_i == M / 2 + A_j // ホンマか? if m % 2 != 0 { Println(0) return } t := map[int]bool{} for _, v := range a { t[v] = true } var ans int for _, v := range a { if t[m/2+v] { ans += n-2 } } Println(ans) }