#include <bits/stdc++.h>
using namespace std;
const int maxn = (int)110;
const long long INF = (long long)1.01e18;
long long f[maxn];
int a[maxn];
int main() {
  ios_base::sync_with_stdio(false);
  f[0] = f[1] = 1;
  for (int i = 2; i < maxn; ++i) f[i] = min(f[i - 1] + f[i - 2], INF);
  int n;
  long long k;
  cin >> n >> k;
  for (int i = 0; i < n; ++i) {
    if (k <= f[n - 1 - i]) {
      a[i] = i;
    } else {
      a[i] = i + 1;
      a[i + 1] = i;
      k -= f[n - 1 - i];
      i += 1;
    }
  }
  for (int _n(n), i(0); i < _n; i++) cout << a[i] + 1 << (" \n"[i + 1 == n]);
  return 0;
}
