#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
long long n, k;
long long A[N], cnt[N];
set<long long> st[2];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long i, j, ans, a, b;
  cin >> n >> k;
  for (i = 1; i <= n; i++) {
    cin >> A[i];
  }
  i = 1;
  while (i <= n && A[i] != k) {
    st[0].insert(A[i]);
    cnt[A[i]] += 1;
    i++;
  }
  long long f = 1;
  if (i <= n) cnt[k] = 1, i++;
  while (i <= n) {
    while (i <= n && A[i] != k) {
      if (st[1 ^ f].find(A[i]) != st[1 ^ f].end()) {
        st[f].insert(A[i]);
        cnt[A[i]] += 1;
      }
      i++;
    }
    if (i <= n) i++, cnt[k]++;
    for (auto it : st[1 ^ f]) {
      if (cnt[it] >= cnt[k]) st[f].insert(it);
    }
    f ^= 1;
    st[f].clear();
  }
  for (auto it : st[1 ^ f]) {
    if (cnt[it] >= cnt[k]) {
      cout << it;
      return 0;
    }
  }
  cout << -1;
}
