#include <bits/stdc++.h>
int dx[4] = {0, -1, 0, 1};
int dy[4] = {1, 0, -1, 0};
using namespace std;
long long dp[55];
void work(int l, int r, long long K) {
  if (l == r) {
    cout << r << " ";
    return;
  }
  if (l > r) return;
  int num = r - l + 1;
  if (dp[num - 1] >= K) {
    cout << l << " ";
    work(l + 1, r, K);
  } else {
    cout << l + 1 << " " << l << " ";
    K -= dp[num - 1];
    work(l + 2, r, K);
  }
}
int Main() {
  ios_base::sync_with_stdio(0);
  dp[0] = dp[1] = 1;
  for (int i = 2; i < 55; i++) dp[i] = dp[i - 1] + dp[i - 2];
  int n;
  long long K;
  cin >> n >> K;
  (void)work(1, n, K);
  return 0;
}
int main() { return Main(); }
