#include <bits/stdc++.h>
using namespace std;
int n, k, p;
unordered_map<int, int> Map;
long long ans;
int main() {
  scanf("%d%d%d", &n, &p, &k);
  for (int i = 1, a; i <= n; i++) {
    scanf("%d", &a);
    int val = (1LL * a * a % p * a % p + (p - k)) * a % p;
    ans += Map[val]++;
  }
  printf("%lld\n", ans);
  return 0;
}
