//ALEXANDRU MICLEA #include <vector> #include <algorithm> #include <string> #include <queue> #include <map> #include <set> #include <unordered_map> #include <time.h> #include <iomanip> #include <deque> #include <math.h> #include <cmath> #include <assert.h> #include <stack> #include <bitset> #include <random> #include <chrono> using namespace std; #include <iostream> vector <string> v, aux; int main() { int n; cin >> n; v.push_back("0"); v.push_back("1"); for (int i = 2; i <= n; i++) { aux = v; reverse(aux.begin(), aux.end()); for (auto& x : v) { x += "0"; } for (auto& x : aux) { x += "1"; v.push_back(x); } } for (auto& x : v) { cout << x << '\n'; } return 0; }