#include <bits/stdc++.h>
using namespace std;
const int maxn = 50 + 5;
long long fib[maxn];
int main() {
  fib[0] = fib[1] = 1;
  for (int i = 2; i < maxn; i++) fib[i] = fib[i - 1] + fib[i - 2];
  long long n, k;
  scanf("%lld%lld", &n, &k);
  vector<int> ans;
  for (int i = 1; i <= n; i++) {
    int leave = n - i;
    if (k <= fib[leave])
      ans.push_back(i);
    else
      ans.push_back(i + 1), ans.push_back(i), k -= fib[leave], i++;
  }
  for (int i = 0; i < ans.size(); i++)
    printf("%d%c", ans[i], i == ans.size() - 1 ? '\n' : ' ');
}
