#include <bits/stdc++.h>
using namespace std;
long long fib[101];
void solve(int n, int add, long long k) {
  if (n == 0) return;
  if (n == 1) {
    cout << 1 + add << " " << endl;
    return;
  }
  if (n == 2) {
    if (k == 1)
      cout << 1 + add << " " << 2 + add << " " << endl;
    else
      cout << 2 + add << " " << 1 + add << " " << endl;
    return;
  }
  if (k <= fib[n]) {
    cout << 1 + add << " ";
    solve(n - 1, add + 1, k);
  } else {
    cout << 2 + add << " " << 1 + add << " ";
    solve(n - 2, add + 2, k - fib[n]);
  }
  return;
}
int main() {
  int n;
  cin >> n;
  long long k;
  cin >> k;
  fib[0] = 0;
  fib[1] = 1;
  fib[2] = 1;
  for (int i = 3; i < 101; i++) fib[i] = fib[i - 1] + fib[i - 2];
  if (k <= fib[n]) {
    cout << "1 ";
    solve(n - 1, 1, k);
  } else {
    cout << "2 1 ";
    solve(n - 2, 2, k - fib[n]);
  }
  return 0;
}
