#include <bits/stdc++.h>
using namespace std;
const int oo = 1000000009;
const double eps = 1e-6;
const int mod = 1000000007;
const int mx = 55;
const long long limit = 1000000000000000000ll;
long long ways[mx];
int main() {
  int n;
  long long k;
  scanf("%d %lld", &n, &k);
  ways[n] = 1;
  for (int i = n - 1; i >= 0; --i) {
    ways[i] = ways[i + 1];
    if (i + 2 <= n) ways[i] += ways[i + 2];
    ;
  }
  assert(k <= ways[0]);
  vector<int> ans;
  for (int i = 1; i <= (n); ++i) ans.push_back(i);
  --k;
  int cur = 0;
  while (cur < n) {
    ;
    if (k < ways[cur + 1]) {
      ++cur;
    } else {
      swap(ans[cur], ans[cur + 1]);
      k -= ways[cur + 1];
      cur += 2;
    }
  }
  for (int i = 0; i < ((int)(ans.size())); ++i) printf("%d ", ans[i]);
  printf("\n");
  return 0;
}
