#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define lint long long int /* vectoral(26); al = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; vectorAL(26); AL = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; */ int main() { lint N, M; lint ans = 0; cin >> N >> M; vector vec(N); vec[0] = 0; vec[1] = 1; for (int i = 2; i < N; i++) { vec[i] = (vec[i - 1] + vec[i - 2]) % M; } cout << vec[N - 1] << endl; }