#include #define ll long long int #define vec vector #define mat vector using namespace std; const ll mod=1000000007; const ll inf=LONG_LONG_MAX; ll dx4[4]={1,0,-1,0}; ll dy4[4]={0,-1,0,1}; ll dx8[8]={1,0,-1,1,-1,1,0,-1}; ll dy8[8]={1,1,1,0,0,-1,-1,-1}; mat matmul(mat A,mat B,ll mo){ ll m=A.size(); mat C(m,vec(m)); for(ll i=0;i> n >> m; vec v={1,0}; v=solve(A,v,n-1,m); cout << v[1] << endl; }