#include <bits/stdc++.h>
using namespace std;
using pll = pair<long long, long long>;
using vl = vector<long long>;
using vpll = vector<pll>;
using mll = map<long long, long long>;
using mcl = map<char, long long>;
using msl = map<string, long long>;
using sl = set<long long>;
using sc = set<char>;
using dl = deque<long long>;
const int N = 1e6 + 5;
long long mod = 1e9 + 7;
vl adj[N];
vpll adjc[N];
long long vis[N];
long long arr[N];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long a, b, c, d, n, m, p, x, y, z, i, j, k,
      f = 0, tc, cnt = 0, sum = 0, mul = 1, mi = 1e18, ma = -1e18, cs;
  string str;
  char ch;
  double db;
  long long l, r;
  cin >> n >> k;
  mll mp;
  for (i = 0; i < n; i++) {
    cin >> arr[i];
    mp[arr[i]]++;
  }
  x = ceil((double)n / 2);
  for (i = 1; i <= k; i++) {
    if (mp[i] >= 2) {
      p = mp[i] / 2;
      mp[i] = mp[i] % 2;
      if (p <= x) {
        sum += (2 * p);
        x -= p;
      } else {
        sum += (2 * x);
        x = 0;
      }
    }
    if (x == 0) break;
  }
  if (x > 0) {
    for (i = 1; i <= k; i++) {
      if (mp[i] == 1) {
        x--;
        sum++;
      }
      if (x == 0) break;
    }
  }
  cout << sum << "\n";
  return 0;
}
