#include <bits/stdc++.h>
using namespace std;
long long dp[55];
long long n;
long long k;
vector<int> swaps;
int p[51];
int main() {
  dp[0] = 1;
  dp[1] = 1;
  dp[2] = 2;
  dp[3] = 3;
  dp[4] = dp[3] + dp[2];
  for (int i = 2; i < 51; i++) {
    dp[i] = dp[i - 1] + dp[i - 2];
  }
  for (int i = 1; i < 51; i++) {
    p[i] = i;
  }
  cin >> n;
  cin >> k;
  k--;
  for (int i = n; i > 0; i--) {
    if (k >= dp[i]) {
      swaps.push_back(n - i + 1);
      k = k - dp[i];
    }
  }
  for (int i = 0; i < swaps.size(); i++) {
    p[swaps[i]] = swaps[i] - 1;
    p[swaps[i] - 1] = swaps[i];
  }
  for (int i = 1; i <= n; i++) cout << p[i] << " ";
  cout << endl;
}
