#include <bits/stdc++.h>
using namespace std;
map<long long, long long> mp;
long long p;
long long mul(long long x, long long y) { return (x * y) % p; }
long long val(long long x, long long k) {
  long long f = mul(mul(x, x), mul(x, x));
  long long s = mul(k, x);
  f -= s;
  f %= p;
  f += p;
  return f % p;
}
int main() {
  long long n, k;
  cin >> n >> p >> k;
  long long ans = 0;
  for (long long i = 0; i < n; i++) {
    long long x;
    cin >> x;
    x = val(x, k);
    ans += mp[x];
    mp[x]++;
  }
  cout << ans << endl;
  return 0;
}
