#include <bits/stdc++.h>
using namespace std;
vector<int> s;
int exp(int n) {
  int res = 1;
  for (int i = 0; i < n; i++) {
    res *= 10;
  }
  return res;
}
void gen(int n) {
  for (int i = 0; i < (1 << n); i++) {
    int p = exp(n - 1), q = 1, res = 0;
    for (int j = 1; j <= n; j++) {
      if (i & (1 << j)) {
        res += j * q;
        q *= 10;
      } else {
        res += j * p;
        p /= 10;
      }
    }
    s.push_back(res);
  }
  sort(s.begin(), s.end());
}
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  gen(n);
  int p = exp(n - 1);
  for (int i = 0; i < n; i++) {
    printf("%d ", s[2 * m - 1] / p);
    s[2 * m - 1] %= p;
    p /= 10;
  }
  printf("\n");
  return 0;
}
