//Normal #define _GLIBCXX_DEBUG #define ll long long #include using namespace std; using Graph = vector>; void print(auto a){ cout << a; } void prints(auto a){ cout << a << " "; } void prints(){ cout << " "; } void printl(auto a){ cout << a << endl; } void printl(){ cout << endl; } void fix(int n){ cout << fixed << setprecision(n); } int main(){ ll N, M; cin >> N >> M; vector X(1e7, 0); X[1] = 0; X[2] = 1; for(int i = 3; i <= N; i++){ X[i] = (X[i-2]+X[i-1])%M; } printl(X[N]); return 0; }