#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
int n;
long long k;
int ret[50];
void run() {
  cin >> n >> k;
  --k;
  int a = 0, b = n - 1;
  for (int i = (0); i < (n - 1); ++i) {
    long long cur = 1LL << (n - i - 2);
    if (k < cur)
      ret[a++] = i + 1;
    else
      k -= cur, ret[b--] = i + 1;
  }
  assert(a == b);
  ret[a] = n;
  for (int i = (0); i < (n); ++i) {
    if (i != 0) printf(" ");
    printf("%d", ret[i]);
  }
  puts("");
}
int main() {
  run();
  return 0;
}
