#include using namespace std; typedef long long ll; typedef vector vec; typedef vector mat; ll mod=1e9+7; // size of matrix ll m; vec matmul(vec &dp, mat &mt) { vec ret(m); for(ll i=0;i> k >> mod; dp[0]=dp[1]=1; mt[0][0]=mt[0][1]=mt[1][0]=1; matpow(dp,mt,k+1); cout << dp[1] << endl; }