#include #include #include #include #include #include #include #define rep(i,n) for(i=0; i> a #define out(a,b) cout << a << b using namespace std; using lint = long long; int main(void){ lint i, j; lint n, m; in(n); in(m); vector rem(m/2+m%2,0); vector REM(m/2,0); rep(i,n){ lint num; in(num); if((num%m)>=(m/2+m%2)){ REM[(num%m)-(m/2+m%2)]++; } else{ rem[num%m]++; } } lint cnt=0; if(rem[0]!=0) cnt++; for(i=1; i<(m/2); ++i){ lint elem=max(rem[i],REM[m/2-i]); cnt+=elem; } if(m%2==0&&REM[0]!=0) cnt++; else if(m%2==1) cnt+=max(rem[m/2],REM[0]); if(cnt<1) cnt=1; out(cnt,endl); return 0; }