#include <bits/stdc++.h>
using namespace std;
const int M_LIM = 200;
const int M_MOD = 1000000007;
const double EPS = 1e-9;
int n;
long long k;
long long fib[M_LIM];
int ans[M_LIM];
int main(void) {
  fib[0] = 0;
  fib[1] = 1;
  for (int i = 2; i <= 52; ++i) fib[i] = fib[i - 1] + fib[i - 2];
  cin >> n >> k;
  --k;
  for (int i = 1; i <= n; ++i) ans[i] = i;
  for (int i = 1; i <= n - 1; ++i) {
    if (fib[n - i + 1] <= k) {
      k -= fib[n - i + 1];
      swap(ans[i], ans[i + 1]);
      ++i;
    }
  }
  for (int i = 1; i <= n; ++i) cout << ans[i] << ' ';
  return 0;
}
