#include #include #include #include #include #include #include #include #define rep(i,n) for(i=0; i=a; --i) #define in(a) cin >> a #define out(a,b) cout << a << b #define print_vec(v) for(auto it=v.begin();it!=v.end();++it)cout<<*it <<" ";cout< d; in(n); in(m); rep(i,n){ in(k); d[k%m]++; cnt++; } lint sum=0; auto it = d.find(0); if(it!=d.end()){ sum++; } rep(i,(m+2)/2){ if(i==0) continue; j=m-i; if(i==j){ it = d.find(i); if(it!=d.end()){ sum++; } } else{ lint l, r; auto itl = d.find(i); auto itr = d.find(j); if(itl!=d.end()){ l = d[i]; } else{ l = 0; } if(itr!=d.end()){ r = d[j]; } else{ r = 0; } sum+=max(l,r); } } out(sum, endl); return 0; }