#include <bits/stdc++.h>

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;
}