#include <bits/stdc++.h>
using namespace std;
long long f[51];
void find(int n, long long k, int a) {
  if (n == 1) {
    printf("%d", a + 1);
    return;
  }
  if (n == 2) {
    if (k == 1)
      printf("%d %d", a + 1, a + 2);
    else
      printf("%d %d", a + 2, a + 1);
    return;
  }
  if (k <= f[n - 1]) {
    printf("%d ", a + 1);
    find(n - 1, k, a + 1);
  } else {
    printf("%d %d ", a + 2, a + 1);
    find(n - 2, k - f[n - 1], a + 2);
  }
}
int main() {
  int n, i;
  long long k;
  scanf("%d%I64d", &n, &k);
  f[1] = 1;
  f[2] = 2;
  for (i = 3; i <= n; i++) f[i] = f[i - 1] + f[i - 2];
  find(n, k, 0);
  printf("\n");
  return 0;
}
