#include using namespace std; vector< int > line; void dfs(int left, int right) { if(left >= right) return; int mid = (left + right) / 2; line.push_back(mid + 1); dfs(left, mid); dfs(mid + 1, right); } int main() { int K; cin >> K; K = 1 << K; dfs(0, K - 1); swap(line.front(), line.back()); for(auto &s : line) cout << s << " "; cout << endl; }