/*
TASK:fib
LANG:C++
*/

#include <iostream.h>

unsigned long long n,m;

unsigned long long fibn()
{unsigned long long a,b,c,i;
 a=1;
 b=1;
 for (i=3;i<=n;i++)
 {c=a+b;
  a=b;
  b=c;
 }
 return c;
}

int main ()
{cin>>n>>m;
 if (m==1) {cout<<'0'<<endl;
	    return 0;
	   }
 if (n==1||n==2) {cout<<1%m<<endl;
	 return 0;
	}
 cout<<fibn()%m<<endl;
 return 0;
}