#include <bits/stdc++.h>
using namespace std;
int N;
long long K;
long long divide[60] = {0};
int ans[60] = {0};
int main() {
  cin >> N >> K;
  divide[0] = 1;
  divide[1] = 1;
  for (int i = 1; i <= N; i++) ans[i] = i;
  for (int i = 2; i <= N; i++) divide[i] = divide[i - 2] + divide[i - 1];
  for (int i = 1; i < N; i++) {
    if (divide[N - i] < K) {
      K -= divide[N - i];
      swap(ans[i], ans[i + 1]);
      i++;
    }
  }
  for (int i = 1; i <= N; i++) printf("%d ", ans[i]);
  return 0;
}
