#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100;
int ans[MAXN], n;
long long k, fib[MAXN];
int main() {
  fib[0] = fib[1] = 1;
  for (int i = 2; i < MAXN; i++) fib[i] = fib[i - 1] + fib[i - 2];
  while (cin >> n >> k) {
    for (int i = 1; i <= n; i++) ans[i] = i;
    while (k > 1) {
      int tt;
      for (tt = 1; tt < MAXN; tt++) {
        if (fib[tt] >= k) break;
      }
      swap(ans[n - tt + 1], ans[n - tt + 2]);
      k -= fib[tt - 1];
    }
    for (int i = 1; i < n; i++) cout << ans[i] << " ";
    cout << ans[n] << endl;
  }
  return 0;
}
