/*
TASK:fib
LANG:C++
*/
#include <iostream>
#include <math.h>
using namespace std;

void Read();
unsigned long Solve();

int m,n;       //n%m

int main()
{
	Read();
	cout<<Solve()<<endl;

	return 0;
}

void Read()
{
	cin>>n>>m;
}

unsigned long Solve()
{
	unsigned long l1=1,l2=1,f=1,c1,c2,i;

	if(m>n) return n;
	if(m==n) return 0;
	if(m==3) return (n%3);
	if(m<3) return 0;
	if(m==5)
	{
		if(n%5==0) return 0;

		for(i=2;i<n;i++)
		{
			f=(l1+l2)%10;
			l2=l1;
			l1=f;
		}
		return f%5;
	}

	for(i=2;i<m;i++)
	{
		f=l1+l2;
		l2=l1;
		l1=f;
	}

	c1=f;

	for(;i<n;i++)
	{
		f=l1+l2;
		l2=l1;
		l1=f;
	}

	c2=f;

	return c2%c1;
}
