/*
TASK:fib
LANGC++
*/
#include <iostream>

using namespace std;
unsigned long long calcfib(unsigned long long n)
{
         unsigned long long temp = 1,result =2;
         for(unsigned long long i=3; i<=n; i++)
         {
            result = temp + result;
            temp = result - temp;
         }
         return result;
}
                      
int main()
{
    unsigned long long m ,n;
    cin>>n>>m;
    n--;
    if(n==0||n==1)
    {
         cout<<n%m<<endl;
    }   
    else{
    cout<<calcfib(n)%m<<endl;;
}
    return 0;
}
