#include "bits/stdc++.h" using namespace std; #define FOR(i,j,k) for(int (i)=(j);(i)<(int)(k);++(i)) #define rep(i,j) FOR(i,0,j) #define each(x,y) for(auto &(x):(y)) #define mp make_pair #define all(x) (x).begin(),(x).end() #define debug(x) cout<<#x<<": "<<(x)< pii; typedef vector vi; typedef vector vll; ll f(int n){ vll a(n + 1); a[1] = a[2] = 1; for(int i = 3; i <= n; ++i)a[i] = a[i - 1] + a[i - 2]; return a[n]; } int main(){ int N; ll M; while(cin >> N >> M){ ll fib = f(N); ll fusoku = fib - M; if(fusoku < 0){ puts("-1"); } else if(fusoku == 0){ puts("0"); } else{ int cnt = 0; for(int i = 3; i <= N && fusoku > 0; ++i){ vll a(N + 1); a[i] = 1; for(int j = i+1; j <= N; ++j)a[j] = a[j - 1] + a[j - 2]; if(fusoku >= a[N]){ cnt++; fusoku -= a[N]; } } if(fusoku == 0){ cout << cnt << endl; } else{ puts("-1"); } } } }