#include <bits/stdc++.h>
using namespace std;
long long binpow(long long n, long long m, long long inf) {
  if (m == 0)
    return 1 % inf;
  else if (m % 2)
    return ((binpow(n, m - 1, inf) % inf) * (n % inf)) % inf;
  else {
    long long b = binpow(n, m / 2, inf);
    return ((b % inf) * (b % inf)) % inf;
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n, m, c;
  cin >> n >> m >> c;
  long long ans = 0;
  map<long long, long long> mp;
  for (int i = 0; i < n; i++) {
    long long x;
    cin >> x;
    long long u = ((x * x % m * x % m * x % m) - c * x);
    u %= m;
    u += m;
    u %= m;
    mp[u]++;
    ans += mp[u];
    ans--;
  }
  cout << ans;
  return 0;
}
