#include #include #include #include using namespace std; void gray(int n, vector &sol){ if(n == 0){ sol.emplace_back(""); return; } gray(n - 1, sol); vector csol(sol); for(auto &i : sol){ i.append("0"); } for(auto &i : csol){ i.append("1"); } reverse(csol.begin(), csol.end()); for(auto &i : csol){ sol.push_back(i); } } int main() { int n; cin >> n; vector sol; gray(n, sol); for(auto &i: sol){ cout << i << '\n'; } return 0; }