/*
TASK:fib
LANG:C++
*/
#include <iostream>
using namespace std;
unsigned long long f[1048576];
unsigned long long n,m;
void fib()
{
  for(int i=2; i<max(m,n); i++)
    f[i]=f[i-1]+f[i-2];
}
int main()
{

  cin>>n>>m;
  f[0]=1;
  f[1]=1;
  fib();
 // for(unsigned long long i=2;i<n;i++)
    cout<<f[n-1]%f[m-1]<<endl;
 //  cout<<(unsigned long long)(-1)<<" "<<sizeof(unsigned long long)<<endl;
  return 0;
}
