#include using namespace std; int main() { long long N, M; cin >> N >> M; vector A(N); for (int i = 0; i < N; i++) cin >> A[i]; map Map; set Set; for (int i = 0; i < N; i++) { Map[A[i] % M]++; Set.insert(A[i] % M); } long long count = 0; while (!Set.empty()) { long long a = *Set.begin(); Set.erase(Set.begin()); if (a == 0 || a * 2 == M) { count++; } else if (a * 2 < M) { count += max(Map[a], Map[M - a]); } } cout << count << endl; }