func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long N = 1e5 + 10;   const long long M = 1e7 + 1000;   const long long mod = 1e9 + 7;   const long long INF = 1e18;   const long long inf = -1e18;   bool isprime(long long x) {     if (x == 1) return false;     long long y = sqrt(x);     for (int i = 2; i <= y; i++) {       if (x % i == 0) {         return false;       }     }     return true;   }   long long bin_pow(long long a, long long b) {     if (b == 0) return 1;     if (b == 1) return a;     if (a == 0) return 0;     if (a == 1) return a;     if (b % 2 == 0) {       long long pw = bin_pow(a, b / 2);       return pw * pw;     } else {       return bin_pow(a, b - 1) * a;     }   }   const long double pi = acos(-1);   long long n, m, x;   long long us[5 * N];   vector<long long> ans;   int main() {     cin >> n >> x;     us[0] = 1;     ans.push_back(0);     long long m = (1 << n);     for (int i = 1; i < m; i++) {       if (us[i ^ x] != 1) {         us[i] = 1;         ans.push_back(i);       }     }     cout << ans.size() - 1 <<   n ;     for (int i = 1; i < ans.size(); i++) cout << (ans[i] ^ ans[i - 1]) <<    ;   }   