#include using namespace std; vector> mat_mul(vector> a,vector> b,long long mod){ long long n,m,l; n = a.size(); m = b.size(); l = b[0].size(); vector v(l); vector> ans_mat(n,v); for(int i=0;i> rep_mat_mul(vector> a,long long n,long long m){ vector v(a.size(),0); vector> ans(a.size(), v); for(int i=0;i0){ if(n%2==1){ ans = mat_mul(ans,a,m); } a = mat_mul(a,a,m); n/=2; } return ans; } int main(){ long long N,M; cin >> N >> M; vector> ans; vector> v = {{1,1},{1,0}}; ans = rep_mat_mul(v,N-2,M); /* for(int i=0;i<2;i++){ for(int j=0;j<2;j++){ cout << ans[i][j] << ' '; } cout << endl; } */ cout << ans[0][0] << endl; }