#include using namespace std; int main(){ int64_t N,M,T=-1; cin>>N>>M; if(M==1||M==2){ if(N==1)cout<<2; else cout<<0; return 0; } if(N==1){ cout<<(M-1)*(M-2)/2+3; return 0; } vector F(3); vectorR(N,0),RR(N,0); F[1]=F[2]=1; for(int i=3;;i++){ F.push_back((F[i-1]+F[i-2])%N); if(F[i-1]==0&&F[i]==1){ T=i-1; F.push_back(1); break; } } int64_t K=(M-2)/T,r=(M-2)%T; for(int i=1;i<=T;i++){ R[(F[i+2]-1+N)%N]++; if(i<=r)RR[(F[i+2]-1+N)%N]++; } int64_t ans=0; for(int i=0;i