#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF (1<<29) #define rep(i,n) for(int i=0;i<(int)(n);i++) #define all(v) v.begin(),v.end() #define uniq(v) v.erase(unique(all(v)),v.end()) #define indexOf(v,x) (find(all(v),x)-v.begin()) int main() { long long n, m; long long a, b, c; cin >> n >> m; a = b = 1; int ans = 0; vector fib; fib.push_back(1); rep (i,n-2) { if (i + 3= 0;i--) { if (c-m>=fib[i]) { c -= fib[i]; ans++; } } if (c != m)ans = -1; cout << ans << endl; return 0; }