#include <bits/stdc++.h>
using namespace std;
const long long INF = 1LL << 60;
long long dp[64];
int main() {
  dp[0] = dp[1] = 1;
  for (int i = 2; i < 64; i++) dp[i] = min(INF, dp[i - 1] + dp[i - 2]);
  int n, ans[64];
  long long kth, cnt = 0;
  cin >> n >> kth;
  for (int i = 0; i < n; i++) {
    if (cnt + dp[n - i - 1] < kth) {
      cnt += dp[n - i - 1];
      ans[i] = i + 1;
      ans[i + 1] = i;
      i++;
    } else {
      ans[i] = i;
    }
  }
  for (int i = 0; i < n; i++) printf("%d ", ans[i] + 1);
  puts("");
}
