#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
long long fib[55];
int num[55];
void init() {
  for (int i = 1; i <= 50; i++) num[i] = i;
}
int main() {
  init();
  fib[1] = 1;
  for (int i = 2; i <= 50; i++) {
    fib[i] = fib[i - 1] + fib[i - 2];
  }
  int n;
  scanf("%d", &n);
  long long k;
  scanf("%I64d", &k);
  for (int i = 1; i <= n; i++) {
    if (k > fib[n + 1 - i]) {
      swap(num[i], num[i + 1]);
      k -= fib[n + 1 - i];
    }
  }
  for (int i = 1; i <= n; i++) printf("%d ", num[i]);
  printf("\n");
  return 0;
}
