func_code_string: #include <bits/stdc++.h>   using namespace std;   struct custom_hash {     static uint64_t splitmix64(uint64_t x) {       x += 0x9e3779b97f4a7c15;       x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9;       x = (x ^ (x >> 27)) * 0x94d049bb133111eb;       return x ^ (x >> 31);     }     size_t operator()(uint64_t x) const {       static const uint64_t FIXED_RANDOM =           chrono::steady_clock::now().time_since_epoch().count();       return splitmix64(x + FIXED_RANDOM);     }   };   template <class T>   void dispvector(vector<T> v) {     for (int i = 0; i < v.size(); i++) cout << v[i] <<    ;     cout <<   n ;   }   template <class T>   void disparray(T *v, int n) {     for (int i = 0; i < n; i++) cout << v[i] <<    ;     cout <<   n ;   }   template <class T>   int sizeofarr(T *v) {     return sizeof(v) / sizeof(T);   }   signed main(int argc, char **argv) {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     long long int n;     cin >> n;     if (n % 2 == 0) {       cout <<  NO             <<   n ;       return 0;     } else {       cout <<  YES             <<   n ;       vector<long long int> arr(2 * n);       long long int num = 1;       long long int idx1 = 0;       long long int idx2 = n;       bool ok = true;       for (long long int i = 0; i < n; i++) {         if (ok) {           arr[idx1] = num;           arr[idx2] = num + 1;         } else {           arr[idx1] = num + 1;           arr[idx2] = num;         }         num += 2;         idx1++;         idx2++;         if (ok)           ok = false;         else           ok = true;       }       dispvector(arr);     }     return 0;   }   