#include <bits/stdc++.h>
using namespace std;
const int N = 55;
long long f[N];
int main() {
  f[0] = f[1] = 1;
  for (auto(i) = (2); (i) <= (50); ++(i)) f[i] = f[i - 1] + f[i - 2];
  long long n, k;
  scanf("%I64d%I64d", &n, &k);
  vector<int> ans;
  k--;
  int i = 1;
  while (i <= n) {
    if (k >= f[n - i]) {
      ans.push_back(i + 1);
      ans.push_back(i);
      k -= f[n - i];
      i += 2;
    } else {
      ans.push_back(i);
      ++i;
    }
  }
  for (auto(i) = (0); (i) <= (ans.size() - 1); ++(i))
    printf("%d%c", ans[i], i == (ans.size() - 1) ? '\n' : ' ');
  return 0;
}
