#include <bits/stdc++.h>
using namespace std;
const int kMaxN = 55;
int N;
long long K;
long long fib[kMaxN];
void GetFib(int n) {
  fib[0] = 1;
  fib[1] = 1;
  fib[2] = 2;
  for (int i = 3; i <= n; ++i) {
    fib[i] = fib[i - 1] + fib[i - 2];
  }
}
int main() {
  GetFib(kMaxN - 1);
  scanf("%d%I64d", &N, &K);
  int first = 1, second = 2;
  while (N > 0) {
    if (K > fib[N - 1]) {
      printf("%d %d ", second, first);
      K -= fib[N - 1];
      N -= 2;
      first += 2;
      second += 2;
    } else {
      printf("%d ", first);
      first++;
      second++;
      N--;
    }
  }
  return 0;
}
