#include #pragma GCC target("avx") #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") using std::cin; using std::cout; #define endl "\n" using std::vector; constexpr int mod=1e9+7; int main(){ std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int N; cin>>N; vector dp(N); dp[0]=1; vector A(N); for(int i=0;i>A[i]; if(i>0&&A[i-1]>1){ dp[i]+=dp[i-1]; if(dp[i]>=mod) dp[i]-=mod; } for(int j=i+A[i];j=mod) dp[j]-=mod; } } cout<