func_code_string: #include <bits/stdc++.h>   using namespace std;   void print_ret(const std::vector<long long>& ret) {     long long r = 0;     for (typeof((ret).end()) it = (ret).begin(); it != (ret).end(); ++it)       r ^= *it;     cout << r << endl;     cout << ret.size() << endl;     for (typeof((ret).end()) it = (ret).begin(); it != (ret).end(); ++it)       cout << *it <<    ;     cout << endl;   }   int main(int argc, const char* argv[]) {     long long l, r, k;     std::vector<long long> ret;     cin >> l >> r >> k;     if (k == 1) {       ret.push_back(l);     } else if (k == 2) {     k2:       if (r - l >= 2) {         ret.push_back(l + 1);         if (l & 1)           ret.push_back(l + 2);         else           ret.push_back(l);       } else {         ret.push_back(l);         if ((l ^ (l + 1)) < l) ret.push_back(l + 1);       }     } else if (k == 3) {       long long t = l;       while (t & (t - 1)) t &= (t - 1);       t |= (t << 1);       if (t <= r) {         ret.push_back(l);         ret.push_back(t);         ret.push_back(l ^ t);       } else {         goto k2;       }     } else {       for (long long t = l; t <= r; t++) {         if (!(t & 3)) {           if (t + 3 <= r) {             ret.push_back(t);             ret.push_back(t + 1);             ret.push_back(t + 2);             ret.push_back(t + 3);             print_ret(ret);             return 0;           }           break;         }       }       std::vector<long long> vals;       for (long long t = l; t <= r; t++) vals.push_back(t);       long long bestval = l;       long long bestmask = 1;       for (int mask = 1; mask < (1 << vals.size()); mask++) {         long long cur = 0;         for (int i = 0; i < vals.size(); i++) {           if (mask & (1 << i)) cur ^= vals[i];         }         if (cur < bestval) {           bestval = cur;           bestmask = mask;         }       }       for (int i = 0; i < vals.size(); i++) {         if (bestmask & (1 << i)) ret.push_back(vals[i]);       }     }     print_ret(ret);     return 0;   }   