题目很有意思但代码很短
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=3e5+10;
ll A[N];
int main(){
map<ll,ll> M;
ll ans=0;
ll n,p,k;cin>>n>>p>>k;
for(int i=1;i<=n;++i)scanf("%lld",&A[i]);
for(int i=1;i<=n;++i){
ll x=(A[i]*A[i]%p*A[i]%p*A[i]%p-A[i]*k%p+p*5)%p;
ans+=M[x];
M[x]++;
}
cout<<ans<<endl;
}