#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define all(T) T.begin(), T.end() using ll = long long; using P = pair; const int di[] = {-1, 0, 1, 0}; const int dj[] = {0, -1, 0, 1}; #define mat vector> ll MOD; mat mat_mul(mat &a,mat &b){ mat res(a.size(),vector(b[0].size())); for(int i=0;i(a.size())); for(ll i=0;i0){ if(n&1)res=mat_mul(a,res); a=mat_mul(a,a); n>>=1; } return res; } int main() { ll n; cin>>n>>MOD; mat m(2,vector(2)); m[0][0]=m[0][1]=m[1][0]=1; m[1][1]=0; m=mat_pow(m,n-1); ll ans=m[1][0]; cout<