#include <bits/stdc++.h>
using namespace std;
long long dp[51];
int seq[51];
int main() {
  std::ios_base::sync_with_stdio(false);
  int i;
  for (i = 0; i <= 51 - 1; i++) dp[i] = 0LL;
  dp[1] = 1LL;
  dp[2] = 2LL;
  for (i = 3; i <= 51 - 1; i++) dp[i] = dp[i - 1] + dp[i - 2];
  int n;
  long long k;
  cin >> n >> k;
  memset(seq, 0, sizeof(seq));
  long long low = 0LL;
  for (i = 0; i <= n - 2; i++) {
    if (dp[n - i - 1] + low >= k) {
      seq[i] = 0;
    } else {
      low += dp[n - i - 1];
      seq[i] = 1;
    }
  }
  i = 0;
  while (i < (n - 1)) {
    if (seq[i] == 0) {
      cout << i + 1 << " ";
      i++;
    } else {
      cout << i + 2 << " " << i + 1 << " ";
      i += 2;
    }
  }
  if (seq[n - 2] == 0) cout << n;
  cout << "\n";
  return 0;
}
