#include <iostream>
#include <vector>

int main()
{
	unsigned long long n = 0, m = 0;
	std::cin >> n >> m;
	std::vector<unsigned long> mod;
	mod.push_back(0);
	mod.push_back(1);
	unsigned long k = 0;
	for (unsigned long i = 2; i <= n; ++i)
	{
		++k;
		mod.push_back((mod[i - 1] + mod[i - 2]) % m);
		if (mod[i - 1] == 0 && mod[i] == 1)
			break;
	}
	std::cout << mod[(n%k)] << std::endl;
	return 0;
}