#include using namespace std; using ll = long long; using vec = vector; using mat = vector; int n,m; mat mul(mat A,mat B) { mat C(3,vec(3)); for(int i=1;i<=2;i++) for(int j=1;j<=2;j++) for(int k=1;k<=2;k++) { ll add = (A[i][k]*B[k][j])%m; C[i][j] = (C[i][j]+add)%m; } return C; } int main() { cin>>n>>m; mat A(3,vec(3)),ANS(3,vec(3)); A[1][1]=1;A[1][2]=1; A[2][1]=1;A[2][2]=0; ANS[1][1]=1;ANS[1][2]=0; ANS[2][1]=0;ANS[2][2]=1; n=n-2; while(n) { if(n%2==1)ANS = mul(ANS,A); A = mul(A,A); n = n>>1; } cout<