#include <bits/stdc++.h>
using namespace std;
int main() {
  int n = 0;
  int k = 0;
  cin >> n >> k;
  int a[100001];
  int b[100001];
  for (int i = 1; i <= k; i++) {
    b[i] = 0;
  }
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  for (int i = 1; i <= n; i++) {
    if (i == 1 && i + 1 <= n) {
      if (a[i] != a[i + 1]) {
        b[a[i]]++;
      }
    } else if (i == n && i - 1 >= 0) {
      if (a[i] != a[i - 1]) {
        b[a[i]]++;
      }
    } else {
      if (a[i - 1] == a[i] && a[i] == a[i + 1]) {
        continue;
      }
      if (a[i] == a[i + 1]) {
        if (i == n - 1) {
          b[a[i]]++;
        } else {
          int truoc = a[i - 1];
          int kk = a[i];
          while (i <= n && kk == a[i]) {
            i++;
          }
          if (i <= n) {
            kk = a[i];
            i--;
            if (kk == truoc) {
              b[a[i]] += 2;
            } else {
              b[a[i]]++;
            }
          } else {
            b[kk]++;
          }
        }
        continue;
      }
      if (a[i] == a[i - 1]) {
        b[a[i]]++;
        continue;
      }
      if (a[i - 1] == a[i + 1]) {
        b[a[i]] += 2;
      } else {
        b[a[i]] += 1;
      }
    }
  }
  int maxx = 0, vt = 0;
  for (int ll = 1; ll <= k; ll++) {
    if (maxx < b[ll]) {
      vt = ll;
      maxx = b[ll];
    }
  }
  cout << vt << endl;
  return 0;
}
