func_code_string: #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;   }   