#include <bits/stdc++.h>
using namespace std;
typedef long long LL;

LL f[100];
LL dp[100];
set<LL> x;
void init(){
    f[1]=1;
    f[2]=1;
    for(int i=3;i<=80;i++){
        f[i]=f[i-1]+f[i-2];
        //cout<<i<<" "<<f[i]<<endl;
    }
}
int main() {
    init();
    LL N,M;
    cin>>N>>M;
    M=f[N]-M;
    if(M<0){
        cout<<-1<<endl;
        return 0;
    }
    int cnt=0;
    for(int i=3;i<=N;i++){
        if(f[N-i+1]<=M){
            cnt++;
            M-=f[N-i+1];
        }
    }
    if(M==0)cout<<cnt<<endl;
    else cout<<-1<<endl;
    return 0;
}