C. Kuroni and Impossible Calculation

int main(){
    // input
    ll N,M;
    cin>>N>>M;

    VI A(N);
    rep(i, N) cin >> A[i];

    map<ll,ll> mp;
    for(ll a : A){
      a %= M;
      mp[a]++;
      if(mp[a]==2){
        debug("easy case");
        p(0); return 0;
      }
    }

    // N is little
    ll ans = 1;
    rep(i,N){
      FOR(j,i+1,N){
        ans *= abs(A[i]-A[j]);
        ans %= M;
      }
    }
    p(ans);
    
    return 0;
}