#include #pragma GCC target("avx2") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") constexpr int mod=1e9+7; int dp[100000]={0}; int main(){ std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); int N; scanf("%d",&N); dp[0]=1; int A; for(int i=0;i=mod) dp[j]-=mod; } if(i==N-1) break; if(A!=1){ dp[i+1]+=dp[i]; if(dp[i+1]>=mod) dp[i+1]-=mod; } } std::cout<