#include <bits/stdc++.h>
using namespace std;
long long fib[52] = {0, 1};
vector<int> kthPerm(long long n, long long k) {
  vector<int> ans;
  if (!n)
    ;
  else if (k <= fib[n]) {
    ans.push_back(1);
    vector<int> subAns = kthPerm(n - 1, k);
    for (int i : subAns) ans.push_back(i + 1);
  } else {
    ans.push_back(2);
    ans.push_back(1);
    vector<int> subAns = kthPerm(n - 2, k - fib[n]);
    for (int i : subAns) ans.push_back(i + 2);
  }
  return ans;
}
int main() {
  long long n, k;
  cin >> n >> k;
  for (int i = 2; i < 52; i++) fib[i] = fib[i - 1] + fib[i - 2];
  vector<int> ans = kthPerm(n, k);
  for (int i = 0; i < n; i++) cout << ans[i] << (i < n - 1 ? ' ' : '\n');
}
