#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:1024000000,1024000000")
using namespace std;
long long dp[55];
void init() {
  dp[0] = dp[1] = 1;
  for (int i = 2; i <= 50; i++) dp[i] = dp[i - 1] + dp[i - 2];
}
int num[55];
int main(void) {
  int n;
  long long k;
  cin >> n >> k;
  init();
  for (int i = 1; i <= n; i++) num[i] = n - i + 1;
  while (k > 1) {
    for (int i = n; 1; i--)
      if (k > dp[i]) {
        k -= dp[i];
        swap(num[i], num[i + 1]);
        break;
      }
  }
  for (int i = n; i >= 1; i--) printf("%d ", num[i]);
  return 0;
}
