// #define _GLIBCXX_DEBUG #include #include // g++ main.cpp -std=c++17 -I . using namespace std; using namespace atcoder; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define all(v) (v).begin(), (v).end() #define rall(v) (v).rbegin(), (v).rend() template inline bool chmin(T&x,U y){if(x>y){x=y;return true;}return false;} template inline bool chmax(T&x,U y){if(x void my_printv(vector v,bool endline = true){ if(!v.empty()){ for(size_t i{}; i>n>>m; vector dp(2); dp[0] = 0, dp[1] = 1; rep(i, n-1) { ll t = dp[1]; dp[1] = (dp[0] + dp[1])%m; dp[0] = t; } cout << dp[0] << endl; }