#include <bits/stdc++.h>
using namespace std;
const int N = 1000000;
int cnt[N + 1];
int check[N + 1];
set<pair<int, int> > s;
int main() {
  int n, A;
  scanf("%d %d", &n, &A);
  for (int i = 1; i <= N; i++) {
    cnt[i] = 0;
    s.insert({cnt[i], i});
  }
  for (int i = 0; i < n; i++) {
    int foo;
    scanf("%d", &foo);
    if (!check[foo]) {
      s.erase(s.find({cnt[foo], foo}));
      s.insert({++cnt[foo], foo});
    }
    while ((!s.empty()) && s.begin()->first < cnt[A]) {
      check[s.begin()->second] = 1;
      s.erase(s.begin());
    }
  }
  for (auto x : s) {
    if (x.second != A) {
      cout << x.second << endl;
      return 0;
    }
  }
  puts("-1");
  return 0;
}
