#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) typedef long long ll; // aよりもbが大きいならばaをbで更新する // (更新されたならばtrueを返す) template bool chmax(T &a, const T& b) { if (a < b) { a = b; // aをbで更新 return true; } return false; } // aよりもbが小さいならばaをbで更新する // (更新されたならばtrueを返す) template bool chmin(T &a, const T& b) { if (a > b) { a = b; // aをbで更新 return true; } return false; } int main(){ ll N,M; cin>>N>>M; set se; map ma; for(int i=0;i>a; a%=M; ma[a]++; a = min(a,M-a); se.insert(a); } ll ans=0; for(auto a:se){ if(a==0||a*2==M){ ans++; } else{ ans+=max(ma[a],ma[M-a]); } } cout<