func_code_string: #include <bits/stdc++.h>   #pragma GCC optimize( Ofast )   #pragma GCC target( sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native )   #pragma GCC optimize( unroll-loops )   using namespace std;   template <class A>   istream& operator>>(istream& in, vector<A>& a) {     for (A& i : a) in >> i;     return in;   }   template <class A>   istream& operator>>(istream& in, vector<vector<A>>& a) {     for (auto& i : a)       for (auto& j : i) in >> j;     return in;   }   template <class A>   ostream& operator<<(ostream& in, vector<A>& a) {     for (A& i : a) in << i <<    ;     in << endl;     return in;   }   template <class A>   ostream& operator<<(ostream& in, vector<vector<A>>& a) {     for (auto& i : a) {       for (auto& j : i) in << j <<    ;       in << endl;     }     return in;   }   const long long mod = 1e9 + 7;   long long power(long long x, long long y) {     long long res = 1;     while (y > 0) {       if (y & 1) res = (res * x) % mod;       y >>= 1;       x = (x * x) % mod;     }     return (res % mod);   }   void solve() {     int n, m;     cin >> n >> m;     vector<int> v(n), ans;     cin >> v;     map<int, bool> mp;     for (int i = 0; i < n; i++) {       mp[v[i]] = true;     }     for (int i = 1; 1; i++) {       if (mp[i] == 0 && m - i >= 0) {         ans.push_back(i);         m -= i;         mp[i] = true;       }       if (m < i) {         break;       }     }     cout << ans.size() <<   n  << ans;   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     long long tc = 1;     for (long long t = 1; t <= tc; t++) {       solve();     }   }   